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

Описание процедуры смены пароля-root пользователя и других пользователей MySQL

Работа с базами данных MySQL часто требуется при администрировании сайтов и приложений на VPS или выделенных серверах. Важно знать, как правильно изменить пароль root-пользователя или восстановить доступ, если пароль был утерян.


Изменение пароля root MySQL

Чтобы изменить пароль root пользователя MySQL подключитесь к серверу по SSH.

Далее нужно подключиться к MySQL как пользователь root при помощи команды:

mysql –u root –p

Нажимаем Enter, указываем пароль и снова нажимаем Enter.

Выполним следующие команды:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
quit

После этого пароль будет изменён на newpass.


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

Если пароль root был утерян, доступ можно восстановить. Для этого сервер MySQL запускается в особом режиме без проверки паролей. Ниже описаны шаги для разных операционных систем.


Ubuntu

Остановите сервис mysql:

   service mysql stop

Создайте каталог /var/run/mysqld и установите для него группу и владельца mysql:

sudo mkdir -p /var/run/mysqld
sudo chown mysql:mysql /var/run/mysqld

Запустите сервис mysql без проверки паролей:

sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &

Проверьте, что процесс запущен:

jobs

Подключитесь к MySQL без пароля:

mysql -u root

Сбросьте пароль командой:

FLUSH PRIVILEGES;
USE mysql;
UPDATE user SET authentication_string=PASSWORD("новый_root_пароль") WHERE User='root';
UPDATE user SET plugin="mysql_native_password" WHERE User='root';
quit

Завершите процесс и запустите MySQL снова:

sudo pkill mysqld
sudo service mysql start

Можете подключиться с новым паролем:

mysql -u root --password=1111

Debian

Остановите сервис mysql:

service mysql stop

Запустите MySQL в безопасном режиме:

/usr/bin/mysqld_safe --skip-grant-tables --user=root &

Подключитесь к MySQL:

mysql -u root

Сбросьте пароль командой:

UPDATE mysql.user SET Password=PASSWORD('новый_root_пароль') WHERE User='root';
FLUSH PRIVILEGES;
exit

Перезапустите MySQL:

sudo service mysql stop
sudo service mysql start

CentOS 7

Останавите сервис MySQL:

sudo /etc/init.d/mysqld stop

Запустите MySQL в безопасном режиме:

sudo mysqld_safe --skip-grant-tables &

Подключитесь командой:

mysql -u root

Измените пароль:

use mysql;
update user set password=PASSWORD("новый_root_пароль") where User='root';
flush privileges;
quit;

Перезапустите MySQL:

/etc/init.d/mysql stop
/etc/init.d/mysql start
Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам