В случае, если необходимо изменить пароль root-пользователя базы данных, в том числе при его утере, воспользуйтесь следующей инструкцией.
/etc/init.d/mysql stop
mysqld.cnf
, чтобы запустить службу без проверки прав доступа. Для этого:3.1. Откройте файл в редакторе:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
3.2. В секцию [mysqld]
добавьте следующую строку:
skip-grant-tables
Должно получиться примерно так:
3.3. Сохраните изменения (в nano
это выполняется комбинацией Ctrl O -> Enter -> Ctrl X, либо Ctrl X -> Y -> Enter).
service mysql restart
mysqld.cnf
:nano /etc/mysql/mysql.conf.d/mysqld.cnf
И удалите добавленную строку. Сохраните изменения.
mysql
use mysql;
MySQL 5
UPDATE user SET authentication_string = PASSWORD('ВАШ_НОВЫЙ_ПАРОЛЬ') WHERE User = 'root';
FLUSH PRIVILEGES;
/etc/init.d/mysql start
mysql -u root -p
После чего введите ваш новый пароль.
MySQL 8
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ваш_новый_пароль';
FLUSH PRIVILEGES;
/etc/init.d/mysql start
mysql -u root -p
После чего введите ваш новый пароль.
Если требуется изменить существующий root-пароль для MySQL либо установить его в случае, когда он не был задан в принципе (это актуально, например, при автоматической установке LAMP при создании сервера — root-пароль MySQL при этом не задается), это можно сделать следующим образом:
Если пароль root не задан, используйте команду:
mysql
Если пароль существует, используйте команду:
mysql -u root -p
После чего введите текущий пароль.
MySQL 5
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('пароль');
\q
.mysql -u root -p
После чего введите ваш новый пароль.
MySQL 8
ALTER USER 'root'@'localhost' IDENTIFIED BY 'пароль';
FLUSH PRIVILEGES;
\q
.mysql -u root -p
После чего введите ваш новый пароль.