Błąd mysqldump ZABLOKUJ TABELE

9

Podczas wykonywania mysqldump pojawia się następujący błąd:

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

Jak mogę to naprawić?

Tomek
źródło
Zależy od silnika pamięci masowej. Zobacz: stackoverflow.com/questions/104612/…
JasonWoof

Odpowiedzi:

7

Jeśli musisz zrzucić bazę danych Information_schema, dodaj do niej --skip-lock-tables.

mysqldump domyślnie nie zrzuca bazy danych INFORMACJE_SCHEMA. Począwszy od wersji MySQL 5.1.38, mysqldump zrzuca ZESTAWIENIE_ INFORMACJI_SCHEMA, jeśli podasz je jawnie w wierszu poleceń, chociaż obecnie musisz także użyć opcji --skip-lock-tables. Przed 5.1.38 mysqldump po cichu ignoruje SCHEMAT_ INFORMACJI, nawet jeśli podasz je jawnie w wierszu poleceń.

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


źródło
W InnoDB użyj parametru --single-transakcja dla oczekiwanego efektu dev.mysql.com/doc/refman/5.1/en/…
Fedir RYKHTIK
3

Musiałem dodać - pojedynczą transakcję

Zgodnie z instrukcją MySQL ta opcja gwarantuje tylko spójną kopię zapasową, jeśli używasz InnoDB lub BDB. W przeciwieństwie do MyISAM i Heap obsługują transakcje.

Tomek
źródło
0

Mam wczoraj ten sam problem.

Baza danych została zmigrowana z innego serwera, a kiedy usunęliśmy kilku użytkowników, pojawił się WIDOK, który miał nieistniejący DEFINER i spowodował problem.

Nie pokazuje błędu proppera, gdy został zrzucony przez użytkownika z uprawnieniami SELECT, LOCK TABLES, ale pod rootem pokazano prawidłowy błąd.

Jakub Pinkas
źródło