Поиск по сайту:

Как сбросить корневой пароль 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

И это все на данный момент. Надеюсь, вы найдете это полезным.