У меня есть существующий экземпляр MySQL (test), содержащий 2 базы данных и несколько пользователей, каждый из которых имеет разные права доступа к каждой базе данных.
Теперь мне нужно дублировать одну из баз данных (в производство) и пользователей, связанных с ней.
Дублирование базы данных легко:
Экспорт
mysqldump --no-data --tables -u root -p secondb >> secondb_schema.sql
Импорт
mysql -u root -p -h localhost secondb < secondb_schema.sql
Я не нашел, однако, простой способ экспортировать и импортировать пользователей из командной строки (внутри или снаружи mysql).
Как мне экспортировать и импортировать пользователя из командной строки?
Обновление. До сих пор я нашел инструкции (и, следовательно, подверженные ошибкам) для выполнения этого:
-- lists all users
select user,host from mysql.user;
Затем найдите его гранты:
-- find privilege granted to a particular user
show grants for 'root'@'localhost';
Затем вручную создайте пользователя с грантами, указанными в результате вышеприведенной команды show show.
Я предпочитаю более безопасный, более автоматический способ. Есть один?