Mam problem z uruchomieniem mysqldump
jako użytkownik root mysql. Podczas próby utworzenia kopii zapasowej mysql
tabeli pojawia się ten błąd:
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user
'root'@'localhost' for table 'cond_instances' when using LOCK TABLES
Czy ktoś to widział wcześniej? Widziałem pewne odniesienia do mojego mysql i mysqldump, które są różnymi wersjami, ale kiedy uruchamiam, są one w tym samym katalogu.
Korzystam z MySQL 5.5.8.
mysql
database-backup
Bryan Kennedy
źródło
źródło
mysqldump
z--skip-add-locks
?--single-transaction
i wszystko działa poprawnie.Odpowiedzi:
Dodaj --skip-add-locks do komendy mysqldump
źródło
--skip-add-locks nie działa:
zamiast tego chcesz --skip-lock-tables
źródło
(Zdaję sobie sprawę, że spóźnia się 8 miesięcy)
To nie jest problem zamków, a oferowane rozwiązania omijają prawdziwy problem:
Aplikacja 5.5 mysqldump nie powinna eksportować pliku
performance_schema
bazy danych.Na podstawie moich wcześniejszych doświadczeń sugeruję, że
mysqldump
program, którego użyłeś, jest wersją 5.1 . Jak powiedzieć? Kwestia:5,1 klient jest nieświadomy „futurystyczny” istnienia
performance_schema
i dlatego próbuje go zrzucić. Nie wiadomo, że nie powinno.Spróbuj znaleźć wersję 5.5 i użyj jej do zrzucania, bez dodawania sugerowanych blokad, a to powinno działać dobrze.
źródło
Jak wspomniała Shlomi Noach, performance_schema nie powinna być tworzona.
Prostym sposobem na rozwiązanie tego jest ustawienie następujących parametrów w pliku konfiguracyjnym:
źródło