помилка mysqldump ЗАМЕЧАННІ ТАБЛИЦІ


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-table.

mysqldump не скидає базу даних INFORMATION_SCHEMA за замовчуванням. Станом на MySQL 5.1.38, mysqldump скидає INFORMATION_SCHEMA, якщо ви чітко називаєте це в командному рядку, хоча в даний час ви також повинні використовувати опцію --skip-lock-table. Перед 5.1.38, mysqldump мовчки ігнорує INFORMATION_SCHEMA, навіть якщо ви чітко називаєте його в командному рядку.

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


В InnoDB використовуйте параметр --single-транзакції для очікуваного ефекту dev.mysql.com/doc/refman/5.1/en/…
Федір РИХТИК

3

Довелося додати --single-транзакцію

Згідно з посібником MySQL, ця опція гарантує лише послідовну резервну копію, якщо ви використовуєте InnoDB або BDB. На відміну від MyISAM та Heap, вони підтримують транзакції.


0

Маю таку ж проблему вчора.

База даних була перенесена з іншого сервера, і коли ми видалили небагатьох користувачів, з'явився VIEW, який не мав DEFINER, і це спричинило проблему.

Він не відображає помилку пропперса, коли він був скинутий з дозволом користувача SELECT, LOCK TABLES, але під кореневим користувачем було показано правильну помилку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.