Я перехожу с одного сервера на другой и хочу сделать резервную копию всех баз данных + пользователей / привилегий / паролей с моего сервера MySQL. Я нашел для резервного копирования базы данных, используя mysqldump
, но я не могу понять, как сделать резервную копию всех пользователей и данных привилегий. Есть ли способ добиться этого или я должен установить это заново на новом сервере?
mysql
migration
installation
Nidhoegger
источник
источник
Ответы:
База данных «mysql» содержит пользователей / привилегии / пароли. Так что возьмите дамп базы данных MySQL вместе с другими базами данных
Эти таблицы базы данных mysql содержат информацию о предоставлении
user: учетные записи пользователей, глобальные привилегии и другие непривилегированные столбцы.
db: привилегии уровня базы данных.
tables_priv: привилегии уровня таблицы.
columns_priv: привилегии уровня столбца.
procs_priv: хранимая процедура и привилегии функций.
После восстановления перекрестной проверки с
источник
mysql.user
может произойти сбой из-за изменений схемы.mysql_upgrade
скрипт для изменения схемы. Но он ожидает, что вы будете вносить только одно существенное изменение за один раз и на месте, а не перезагружать. Исследуй это. (Извините, у меня нет опыта в области улучшений.)flush privileges;
новый mysql. Например,mysql -u root -p -e'flush privileges;'
это может / также установит ваш пароль root mysql на вашем новом сервере в качестве пароля root от вашего старого сервера, поэтому убедитесь, что вы знаете, что это такое.Этот PHP-скрипт был вдохновлен необходимостью сделать то же самое, что и исходный вопрос, где на рассматриваемых серверах использовалась другая версия MariaDB. Поскольку это PHP, он должен работать на любой платформе, которая поддерживает PHP (версия 7.3 или выше).
источник