MySQL или MariaDB?
Чтобы определить, какой сервер у Вас используется, нужно выполнить команду:
mysql --version
В результате Вы увидите следующий вывод для MySQL:
mysql Ver 14.14 Distrib 5.7.16, for Linux (x86_64) using EditLine wrapper
И такой вывод для MariaDB:
mysql Ver 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
Остановите сервер БД
Для изменения пароля необходимо остановить MySQL или MariaDB сервер.
Если Вы используете MySQL:
systemctl stop mysql
Если Вы используете MariaDB:
systemctl stop mariadb
Запуск сервера БД в безопасном режиме
Для изменения пароля потребуется запустить сервер БД в безопасном режиме, то есть без загрузки параметров привилегий. Это позволит получить доступ к командной строке сервера БД без ввода пароля и соответственно изменить его.
Для того, чтобы запустить сервер БД в безопасном режиме, выполните команду:
mysqld_safe --skip-grant-tables --skip-networking &
Далее, войдите в командную строку сервера БД под пользователем root:
mysql -u root
Изменение пароля
Самый простой способ изменить пароль — использовать команду ALTER USER
. Однако, эта команда недоступна из-за того, что мы не загрузили привилегии.
Чтобы команда сработала, выполните:
FLUSH PRIVILEGES;
Теперь Вы можете непосредственно установить новый пароль с помощью одной из следующих команд.
Если Вы используете MySQL 5.7.6 и выше, либо MariaDB 10.1.20 и выше, то Ваша команда:
ALTER USER 'root'@'localhist' IDENTIFIED BY '<НОВЫЙ ПАРОЛЬ>';
Если Вы используете MySQL версии 5.7.5 и ниже, либо MariaDB 10.1.20 и ниже, то:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<НОВЫЙ ПАРОЛЬ>');
В результате Вы должны увидеть следующий вывод:
Query OK, 0 rows affected (0.00 sec)
Запуска сервера БД в обычном режиме
После изменения пароля необходимо запустить сервер БД в обычном режиме. Для этого сначала нужно остановить сервер, который был запущен в безопасном режиме. Это можно сделать убив процесс сервера БД.
Для MySQL введите команду:
kill `cat /var/run/mysqld/mysqld.pid`
Для MariaDB:
kill `cat /var/run/mariadb/mariadb.pid`
Далее запустите сервер БД с помощью утилиты systemctl.
Для MySQL:
systemctl start mysql
Для MariaDB:
systemctl start mariadb
Теперь проверьте, можете ли Вы войти в командную строку сервера БД с новым паролем, для этого введите команду:
mysql -u root -p
Далее у Вас будет запрошен пароль, введите его и нажмите ENTER. Если войти удастся, значит изменение пароля прошло успешно.
Источник: https://x5x.ru/