mysqldump 错误锁定表

tom*_*tom 10 mysql database

当我执行 mysqldump 时,出现以下错误:

mysqldump -u root -ppassword --databases information_schema > test.sql
mysqldump: Got error: 1044: Access denied for user 'root'@'localhost' to database 'information_schema' when using LOCK TABLES
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

tom*_*tom 7

我不得不添加 --single-transaction

根据 MySQL 手册,如果您使用 InnoDB 或 BDB,此选项仅保证一致的备份。与 MyISAM 和 Heap 相比,它们支持事务。


小智 6

如果您必须转储 information_schema 数据库,则向其中添加 --skip-lock-tables。

默认情况下,mysqldump 不会转储 INFORMATION_SCHEMA 数据库。从 MySQL 5.1.38 开始,如果您在命令行上明确命名,mysqldump 会转储 INFORMATION_SCHEMA,尽管目前您还必须使用 --skip-lock-tables 选项。在 5.1.38 之前,即使您在命令行中明确命名,mysqldump 也会默默地忽略 INFORMATION_SCHEMA。

http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html