问题:自己在虚拟机的centos7上备份数据库,执行脚步时报错mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces 但是仍然可以备份 可是这个错误看着不舒服百度了一下 最终找到了答案 在这里记录一下

[root@localhost backup]# sh ./mysql_backup.sh
开始导出数据库...
mysqldump: Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces
导出成功,文件名为: /data/backup/mysql/2021-10-06_003536.sql.gz

解决方法:在centos中用root账号登录mysql 

[root@localhost backup]# mysql -uroot -p

输入密码

然后执行命令

mysql> GRANT PROCESS ON *.* TO 'demo'@'localhost';

这个demo要换成你自己的登录数据库账号

然后刷新数据库即可

mysql> flush privileges;

全部执行过程:

[root@localhost backup]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 61
Server version: 8.0.24 Source distribution

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> GRANT PROCESS ON *.* TO 'demo'@'localhost';
Query OK, 0 rows affected (0.01 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye
[root@localhost backup]# sh ./mysql_backup.sh
开始导出数据库...
导出成功,文件名为: /data/backup/mysql/2021-10-06_003815.sql.gz
[root@localhost backup]# 

这种方式是用户本机访问的

另一个方法是用户全局访问的 命令把localhost改为%

mysql> GRANT PROCESS ON *.* TO 'demo'@'%';

同样demo改为你自己的mysql登录账号 执行完毕 再执行上面刷新数据库的命令即可

我是用了第一种方法。

创作不易,如果帮到你了,希望你可以点赞,评论

更多推荐

mysqldump: Error: ‘Access denied; you need (at least one of) the PROCESS privile