В случае, если необходимо изменить пароль root-пользователя базы данных, в том числе при его утере, воспользуйтесь следующей инструкцией.
Смена пароля, если текущий пароль утерян
1. Подключитесь к серверу по SSH.
2. Остановите службу MySQL:
/etc/init.d/mysql stop
3. Отредактируйте файл 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).
4. Перезапустите mysql:
service mysql restart
5. Снова откройте файл mysqld.cnf
:
nano /etc/mysql/mysql.conf.d/mysqld.cnf
И удалите добавленную строку. Сохраните изменения.
6. Подключитесь к MySQL как root без пароля:
mysql
7. Выберите активную БД:
use mysql;
8. Обновите пароль:
update user set authentication_string=password('ваш_новый_пароль') where user='root';
9. Примените изменения:
flush privileges;
10. Выйдите из mysql командой \q
11. Перезапустите службу в обычном режиме:
/etc/init.d/mysql start
12. Теперь проверьте, что пароль успешно изменен, подключившись под root с новым паролем. Для этого выполните:
mysql -u root -p
После чего введите ваш новый пароль.
Смена пароля, если текущий пароль известен или не был установлен ранее
Если требуется изменить существующий root-пароль для MySQL либо установить его в случае, когда он не был задан в принципе (это актуально, например, при автоматической установке LAMP при создании сервера - root-пароль MySQL при этом не задается), это можно сделать следующим образом:
1. Подключитесь к серверу по SSH.
2. Перейдите к управлению MySQL:
Если пароль root не задан, используйте команду:
mysql
Если пароль существует, используйте команду:
mysql -u root -p
После чего введите текущий пароль.
3. Выполните запрос ниже, заменив "пароль" на нужное вам значение:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('пароль');
4. Выйдите из консоли MySQL командой \q
5. Проверьте изменения, подключившись с новым паролем. Выполните команду:
mysql -u root -p
После чего введите ваш новый пароль.