Реинициализация mysql на Centos 7
Реинициализация mysql на Centos 7¶
Если предварительно нужно сдампить базы и таблицы, см. "Дамп баз данных Mysql"
Стопаем мускуль и проверяем, что он стопнут
systemctl stop mysql
systemctl status mysql;ps auxfS|grep mysqld|grep -v grep
Переименовываем каталог /var/lib/mysql
mv /var/lib/mysql /var/lib/mysql_backup_$(LC_TIME='en_US.UTF-8' date '+%Y%m%d')
Создаём нужный каталог, и указываем ему верного владельца
Mysql < 5.7
mkdir /var/lib/mysql
mkdir /var/lib/mysql/mysql
chown -R mysql:mysql /var/lib/mysql
Mysql >= 5.7
mkdir /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
Инициализуем базу.
Для mysql < 5.7 делаем
mysql_install_db
Для mysql >= 5.7 выполняем
mysqld --initialize --user=mysql
[Note] A temporary password is generated for root@localhost: наш_пароль
изпользуем его для одноразового подключения, и меняем пароль root
systemctl start mysql
mysql -uroot -p'наш_пароль'
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NEW_PASS');
FLUSH PRIVILEGES;
где NEW_PASS - какой-то пароль.
Делаем на всякий случай
mysql_upgrade -u root -pNEW_PASS
Если нужно после реиницализации восстановить базы из полученного ранее дампа
mysql -uroot -ppNEW_PASS < /root/all-databases_$(LC_TIME='en_US.UTF-8' date '+%Y%m%d').sql