Как сбросить корневой пароль MySQL или MariaDB
Несколько месяцев назад я настроил стек LAMP на сервере Ubuntu 18.04. Сегодня я попытался войти в систему как пользователь root на своем сервере базы данных, но полностью забыл пароль. После пары поисков в Интернете и просмотра форума MySQL я успешно сбросил пароль пользователя root MySQL. Для тех, кто задается вопросом, как это сделать, в этом кратком руководстве объясняются шаги по сбросу пароля root MySQL или MariaDB в Linux и Unix-подобных операционных системах.
Сброс пароля root MySQL или MariaDB
Сначала остановите сервер базы данных.
Если вы используете MySQL, введите следующую команду и нажмите клавишу ВВОД.
sudo systemctl stop mysql
Для МариаДБ:
sudo systemctl stop mariadb
Затем перезапустите сервер базы данных без проверки разрешений, используя следующую команду:
sudo mysqld_safe --skip-grant-tables &
Здесь параметр --skip-grant-tables
позволяет вам подключиться без пароля и со всеми привилегиями.
Если вы запускаете свой сервер с этим параметром, он также включает параметр --skip-networking
, который используется для предотвращения подключения других клиентов к серверу базы данных.
Символ амперсанда (&) используется для запуска команды в фоновом режиме, поэтому вы можете вводить другие команды на следующих шагах.
Помните, что приведенная выше команда опасна, и ваш сервер базы данных становится небезопасным. Вам следует запускать эту команду только в течение короткого периода времени, чтобы сбросить пароль.
Затем войдите на свой сервер MySQL/MariaDB как пользователь root
:
mysql
В приглашении mysql>
или MariaDB [(none)]>
выполните следующую команду, чтобы сбросить базу данных Пароль пользователя root
:
UPDATE mysql.user SET Password=PASSWORD('ostechnix') WHERE User='root';
Замените ostechnix в приведенной выше команде своим собственным паролем.
Затем введите следующие команды для выхода из консоли MySQL.
FLUSH PRIVILEGES;
exit
Наконец, выключите работающий сервер базы данных, который вы запустили ранее, с помощью опции --skip-grant-tables
. Для этого запустите:
sudo mysqladmin -u root -p shutdown
Вам будет предложено ввести пароль пользователя mysql/mariadb root
, который вы установили на предыдущем шаге.
Enter password:
[2]- Done sudo mysqld_safe --skip-grant-tables
Теперь запустите службу mysql/mariadb, используя команду:
sudo systemctl start mysql
Для МариаДБ:
sudo systemctl start mariadb
Проверьте, действительно ли пароль был изменен, с помощью следующей команды:
sudo mysql -u root -p
И это все на данный момент. Надеюсь, вы найдете это полезным.