Смена пароля root для MySQL

Смена пароля, если текущий пароль утерян
- Подключитесь к серверу по SSH.
- Остановите службу MySQL:
/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).
- Перезапустите mysql:
service mysql restart
- Снова откройте файл mysqld.cnf
nano /etc/mysql/mysql.conf.d/mysqld.cnf
И удалите добавленную строку. Сохраните изменения.
- Подключитесь к MySQL как root без пароля:
mysql
- Выберите активную БД:
use mysql;
- Обновите пароль:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
- Примените изменения:
flush privileges;
- Выйдите из mysql командой \q
- Перезапустите службу в обычном режиме:
/etc/init.d/mysql start
- Теперь проверьте, что пароль успешно изменен, подключившись под root с новым паролем. Для этого выполните:
mysql -u root -p
После чего введите ваш новый пароль.
После добавления строки kip-grant-tables нужно перезагрузить сервер, чтобы изменения вступили в силу.