Перенос пользователей MySQL со всеми правами
Перенос пользователей MySQL со всеми назначенными правами к базам.
Шаг 1. Получаем список пользователей
mysql -u root -B -p -e "SELECT user, host FROM mysql.user" |
-u - пользователь;-B - batch, выводит результаты запроса по одному на строке, используя табуляцию, как разделитель;-p - запрос пароля из stdin;-e - команда;
Можно также использовать -N, чтобы не выводить названия столбцов.
Вывод запроса будет приблизительно следующим:
user host |
Шаг 2. Получаем список прав
mysql -u root -p -B -N -e "SHOW GRANTS FOR 'userName'@hostName" |
username - имя пользователя;hostname - хост, полученный на предыдущем шаге;
Вывод будет приблизительно следующим:
[root@localhost ~]# mysql -u root -p -B -N -e "SHOW GRANTS FOR 'root'@localhost" |
Вводим данные команды на новом сервере и на этом процедура переноса завершена.
Если требуется перенести большое количество пользователей, то можно сделать скрипт, что значительно ускорит процесс.