mysqldump: Got error: 1044: "Access denied for user 'root'@'localhost' to database 'information_schema'" when using LOCK TABLES
原图:
以上报错目前尝试两种解决方法可行(注:如果有其它解决办法可以在评论区说明后续我会补充):
方法一:文章来源:https://www.toymoban.com/news/detail-573025.html
#--lock-tables 默认会锁住所有需要dump的表,来保证数据的一致性
#--skip-lock-tables 跳过当前库中的锁,此方法在数据量小时可取,量大可能会造成卡死
[root@Zabbix ~]# mysqldump --skip-lock-tables -uroot -padmin@123 information_schema > /home/databases/information_schema
方法二:文章来源地址https://www.toymoban.com/news/detail-573025.html
[root@Zabbix ~]# mysql -uroot -padmin@123 #给root授锁定表的权限
MariaDB [(none)]> grant select,lock tables on *.* to 'root'@'localhost';
Query OK, 0 rows affected (0.001 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.000 sec)
#--single-transaction #设置事务的隔离级别为可重复读,即REPEATABLE READ,这样能保证在一个事务中所有相同的查询读取到同样的数据,也就大概保证了在dump期间,如果其他innodb引擎的线程修改了表的数据并提交,对该dump线程的数据并无影响,在这期间不会锁表。该参数通过在一个事务中导出所有表从而创建一个一致性的快照。
[root@Zabbix ~]# mysqldump --single-transaction -uroot -padmin@123 information_schema > /home/databases/information_schema
到了这里,关于解决:mysqldump: Got error: 1044: “Access denied for user ‘root‘@‘localhost‘ to database ……的错误的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!