mysqldump: Wystąpił błąd: 1044: Odmowa dostępu dla użytkownika „nazwa użytkownika” @ „localhost” do bazy danych „nazwa bazy danych”, gdy używana jest LOCK TABLES

16

mysqldump: Wystąpił błąd: 1044: Odmowa dostępu dla użytkownika „nazwa użytkownika” @ „localhost” do bazy danych „nazwa bazy danych”, gdy używana jest LOCK TABLES

Jestem w stanie logować się poprawnie i mogę wykonać pełną kopię zapasową z SQLyog Tool, ale kiedy próbuję pobrać kopię zapasową z MySQL Enterprise Workbencg, pojawia się komunikat o błędzie.

mysqldump: Wystąpił błąd: 1044: Odmowa dostępu dla użytkownika „myuserid” @ „%” do bazy danych „mydatabasename” podczas wykonywania LOCK TABLES

Operacja nie powiodła się z kodem wyjścia 2

I statusu połączenia MySQL jest w porządku.

mysql> status;

mysql.exe Ver 14.14 Distrib 5.6.19, dla Win32 (x86)

Identyfikator połączenia: 23921 Bieżąca baza danych: nazwa bazy danych Bieżący użytkownik: identyfikator użytkownika jest tutaj w porządku SSL: Nieużywany Korzystanie z separatora:; Wersja serwera: 5.6.17-log MySQL Community Server (GPL) Wersja protokołu: 10 Połączenie: połączenie jest w porządku tutaj Zestaw znaków serwera: utf8 Zestaw znaków Db: utf8 Zestaw znaków klienta: cp850 Połączenie zestawu znaków: cp850 Port TCP: 3306 Czas działania: 21 dni 21 godz. 11 min 37 sek

Wątki: 24 Pytania: 20500671 Wolne zapytania: 3212 Otwiera: 121998 Flush tabele: 1 Otwarte tabele: 2000 zapytań na sekundę średnio: 10.842

Md Haidar Ali Khan
źródło

Odpowiedzi:

26

Wiem, że jest naprawdę późno, ale znalazłem to pytanie, gdy napotkałem ten sam problem. Tak więc, w razie potrzeby, znalazłem dwa możliwe rozwiązania:

  1. użytkownik nie korzysta z tego LOCKuprawnienia, dlatego należy poprosić administratora bazy danych o przyznanie go
  2. uruchom to samo mysqldumppolecenie, po prostu dodając --single-transactionflagę, np.mysqldump --single-transaction -u user -p ...
ThanksForAllTheFish
źródło
Działa twoje rozwiązanie.
Hasan
-1

Szybkim obejściem jest przekazanie opcji mysqldump opcji „pojedyncza transakcja”:

$ mysqldump --single-transaction -u user -p DBNAME > backup.sql

Tylko do udostępnienia poniższy artykuł zawiera dobre informacje na temat tego samego problemu.

mysqldump: 1044 Odmowa dostępu podczas korzystania z LOCK TABLES

Mohamed Sabr
źródło