问题:自己在虚拟机的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.
解决方法:在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.
[root@localhost backup]#
这种方式是用户本机访问的
另一个方法是用户全局访问的 命令把localhost改为%
mysql> GRANT PROCESS ON *.* TO 'demo'@'%';
同样demo改为你自己的mysql登录账号 执行完毕 再执行上面刷新数据库的命令即可
我是用了第一种方法。
创作不易,如果帮到你了,希望你可以点赞,评论