Смена пароля-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