Сброс пароля MySQL

Запуск MySQL без привилегий

service mysqld stop
mysqld_safe --skip-grant-tables

centos:

systemctl stop mariadb.service

Если выведется сообщение вроде:

mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
mysqld_safe A mysqld process already exists

надо найти и мягко прибить:

ps uaxww | grep -i mysql
kill ...

Запускаем мускул с пропуском проверки прав:

mysqld_safe --skip-grant-tables --skip-networking &

Заходим под рутом:

mysql -u root

Обновляем пароль рута, обновляем привилегии:

UPDATE mysql.USER SET password=PASSWORD("new-password") WHERE USER='root';
FLUSH privileges;

Перезапускам сервер:

systemctl stop mariadb.service
systemctl start mariadb.service

Пробуем зайти:

mysql -u root -p