Сбросить root-пароль к MySQL

Категория: MySQL

Сброс root пароля для MySQL.

sudo service mysql stop
#sudo systemctl stop mariadb
sudo mysqld_safe --skip-grant-tables --skip-networking &
mysql -u root
FLUSH PRIVILEGES;

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MY_NEW_PASSWORD';
## или:
UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD') WHERE User = 'root' AND Host = 'localhost';

FLUSH PRIVILEGES;
\q;

Перезагрузка сервера:

sudo kill `sudo cat /var/run/mysqld/mysqld.pid`
#sudo kill `sudo cat /var/run/mariadb/mariadb.pid`

sudo service mysql restart
sudo service mysql status

Старый способ

Добавить в конфиг /etc/mysql/my.cnf или /etc/mysql/conf.d/mysql.cnf:

sudo nano /etc/mysql/my.cnf
# или
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
## @note Reset the root password
skip-grant-tables

Перезапуск mysql:

sudo service mysql restart
# или
/etc/init.d/mysql restart

Авторизация и установка нового пароля для root:

mysql -u root
MariaDB [(none)]> UPDATE mysql.user SET password = PASSWORD('NEW_PASSWORD') WHERE user = 'root' AND host = 'localhost';

Убрать опцию из конфига!

sudo nano /etc/mysql/my.cnf
# или
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
## @note Reset the root password
#skip-grant-tables ## Закомментируйте или удалите опцию
sudo service mysql restart

* Показать список баз данных:

MariaDB [(none)]> SHOW DATABASES;

#mysql, #mysqld, #password reset

категория: MySQL