mysqldump error LOCK TABLES


9

Когда я выполняю 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

Как я могу это исправить?


Зависит от вашего хранилища. См .: stackoverflow.com/questions/104612/…
JasonWoof

Ответы:


7

Если вам нужно вывести базу данных 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


В InnoDB используйте параметр --single
-action

3

Мне пришлось добавить --single -action

Согласно руководству по MySQL, эта опция гарантирует только непротиворечивое резервное копирование, если вы используете InnoDB или BDB. В отличие от MyISAM и Heap они поддерживают транзакции.


0

У меня вчера такая же проблема.

База данных была перенесена с другого сервера, и когда мы удалили несколько пользователей, был VIEW, в котором отсутствовал DEFINER и который вызвал проблему.

Он не показывает ошибку пропппера, когда он был выгружен с привилегией пользователя SELECT, LOCK TABLES, но под пользователем root была показана правильная ошибка.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.