Jednym z najłatwiejszych sposobów eksportowania użytkowników, jakie znalazłem, jest użycie narzędzia Percona pt-show-grants. Zestaw narzędzi Percona jest bezpłatny, łatwy w instalacji i obsłudze, z dużą ilością dokumentacji. Jest to łatwy sposób na pokazanie wszystkim użytkownikom lub określonym użytkownikom. Zawiera listę wszystkich ich grantów i wyników w formacie SQL. Podam przykład, jak pokażę wszystkie granty dla test_user:
shell> pt-show-grants --only test_user
Przykładowe wyjście tego polecenia:
GRANT USAGE ON *.* TO 'test_user'@'%' IDENTIFIED BY PASSWORD '*06406C868B12689643D7E55E8EB2FE82B4A6F5F4';
GRANT ALTER, INSERT, LOCK TABLES, SELECT, UPDATE ON `test`.* TO 'test_user'@'%';
Zwykle przekształcam dane wyjściowe do pliku, aby móc edytować to, czego potrzebuję, lub załadować je do mysql.
Alternatywnie, jeśli nie chcesz używać narzędzia Percona i chcesz zrobić zrzut wszystkich użytkowników, możesz użyć mysqldump w następujący sposób:
shell> mysqldump mysql --tables user db > users.sql
Uwaga:--flush-privileges nie zadziała z tym, ponieważ cała baza danych nie jest zrzucana. oznacza to, że musisz uruchomić go ręcznie.
shell> mysql -e "FLUSH PRIVILEGES"