2015-06-15 11 views
6

Chcę zrzucić moją bazę danych z funkcją i procedurą w mysql workbench. Mogę zrzucić mój DB bez funkcji i procedur., Ale gdy próbuję wyeksportować dane z procedurami, to pokazał mi błąd jak "mysqldump: użytkownik ma niewystarczające uprawnienia, aby pokazać nazwę funkcji funkcji". jak rozwiązać ten problem. proszę podać mi, jeśli masz pomysły. z góry dziękuję.mysqldump: niewystarczające uprawnienia do pokazania funkcji tworzenia "nazwa funckacji"

+0

Spróbuj zrzucić go jako użytkownik root ze wszystkimi funkcjonalnościami – Jens

+0

rzeczywiście nie mogłem go z terminalu. Ponieważ mam inny problem. kiedy uruchamiam mysql -u root -p, pokazuje mi to błąd "odmowa dostępu dla użytkownika root @ localhost". tak, że wypróbowałem w środowisku roboczym – Anitha

Odpowiedz

17

do zrzutu bazy danych również z procedur przechowywanych, trzeba przyznać uprawnienia SELECT do mysql.proc:

Wykonaj to oświadczenie raz jako root:

GRANT SELECT ON mysql.proc to 'your-mysqldump-user'; 

Zamień Your-mysqldump użytkownikowi z prawdziwa nazwa użytkownika.

Następnie przepłukać przywileje:

FLUSH PRIVILEGES 

Teraz powinieneś być w stanie zrzucić bazę danych w tym procedur przechowywanych ze swoim mysqldump użytkownika.

UPDATE: jako @Michael zauważył w komentarzach, FLUSH PRZYWILEJE nie jest nesseccary w tym przypadku

+1

, aby otrzymać oświadczenie o przyznaniu dotacji, którego nie trzeba używać do wypłukiwania uprawnień. tylko wtedy, gdy manipulujesz tabelami uprawnień w bazie danych za pomocą aktualizacji – Michael

Powiązane problemy