Mam istniejącą instancję MySQL (test), zawierającą 2 bazy danych i kilku użytkowników, z których każdy ma różne uprawnienia dostępu do każdej bazy danych.Jak eksportować i importować istniejącego użytkownika (z jego uprawnieniami!)
Muszę teraz powielić jedną z baz danych (do produkcji) i użytkowników z tym związanych.
powielenie bazie było easy:
Export:
mysqldump --no-data --tables -u root -p secondb >> secondb_schema.sql
importu:
mysql -u root -p -h localhost secondb < secondb_schema.sql
nie znalazłem jednak prosty sposób eksportować i importować użytkowników , z linii poleceń (wewnątrz lub na zewnątrz mysql).
Jak wyeksportować i zaimportować user z wiersza poleceń?
Aktualizacja: Do tej pory znalazłem manual (a więc podatne na błędy) kroki zmierzające do osiągnięcia tego:
-- lists all users
select user,host from mysql.user;
następnie znaleźć jej udziela:
-- find privilege granted to a particular user
show grants for 'root'@'localhost';
Następnie ręcznie utwórz użytkownika z grantami wymienionymi w wyniku polecenia "pokaż granty" powyżej.
Wolę bezpieczniejszy, bardziej zautomatyzowany sposób. Czy jest jeden?
Najlepszą odpowiedzią jest rzeczywiście na ServerFault: http://serverfault.com/a/399875 – pors