Після того, як пароль root користувача [1] MySQL встановлено, його можна змінити. Найбільш простий спосіб це зробити такий:
- Підключитися по SSH до віртуального сервера;
- Підключитися до MySQL як користувач root за допомогою команди:
mysql –u root –p
- Потім натиснути Enter, вказати пароль і знову натиснути Enter;
- Виконати такі команди:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass'); quit
Після цього пароль буде змінено на newpass.
Цей спосіб також підходить і змінювати паролів інших MySQL користувачів. Для цього у вказаній вище команді необхідно вказати користувача, для якого змінюється пароль (наприклад, замість root@localhost — dovecot@localhost ) і новий пароль.
Скидання root-паролю у разі його втрати
Якщо mysql root-пароль був втрачений, його можна скинути так:
- Підключаємося до VPS з правами root.
- Зупиняємо MySQL-сервер.
На Debian/Ubuntu для зупинки mysql-сервера використовується команда
/etc/init.d/mysql stop
або
service mysql stop
На CentOS/Fedora
/etc/init.d/mysqld stop
або
service mysqld stop
На CentOS 7
systemctl stop mariadb
- Далі виконуємо команду:
mysqld_safe --skip-grant-tables &
- Результат виконання команди буде приблизно наступним:
[1] 5988 Starting mysqld daemon with databases from /var/lib/mysql mysqld_safe[6025]: started
- Підключаємось до mysql з правами root. Оскільки mysql запущено в безпечному режимі, пароль для входу не вимагається:
mysql -u root
- Вибираємо базу даних mysql:
use mysql;
- Встановлюємо новий mysql root-пароль командою:
update user set password=PASSWORD("новий_root_пароль") where User='root';
- Перезавантажуємо привілеї:
flush privileges;
- Відключаємося від mysql:
quit;
- Зупиняємо і потім знову запускаємо сервер MySQL командами:
Debian/Ubuntu
/etc/init.d/mysql stop /etc/init.d/mysql start
CentOS/Fedora
/etc/init.d/mysqld stop /etc/init.d/mysqld start
CentOS 7
systemctl stop mariadb systemctl start mariadb
- Пробуємо підключитися до mysql з новим паролем:
mysql -u root –p
На цьому процес відновлення пароля завершено.
Примітки
- ↑ Пароль root користувача сервера та MySQL можуть відрізнятися один від одного