Как сбросить корневой пароль MySQL

Вы забыли свой пароль root для MySQL? Не волнуйтесь, это случается со всеми нами.

В этой статье мы покажем вам, как сбросить пароль root MySQL из командной строки.

Определите версию сервера

В зависимости от версии сервера MySQL или MariaDB, которую вы используете в своей системе, вам нужно будет использовать разные команды для восстановления пароля root.

Вы можете узнать версию своего сервера, выполнив следующую команду:

mysql --version

Если в вашей системе установлен MySQL, результат будет выглядеть примерно так:

mysql  Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using  EditLine wrapper

Или выведите такой вывод для MariaDB:

mysql  Ver 15.1 Distrib 10.1.33-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Обязательно запишите, какую версию MySQL или MariaDB вы используете.

Как сбросить корневой пароль MySQL или MariaDB

Выполните следующие действия, чтобы сбросить пароль root для MySQL / MariaDB:

1. Остановите службу MySQL / MariaDB.

Чтобы сначала изменить пароль root, вам необходимо остановить сервер MySQL. Для этого введите следующую команду:

sudo systemctl stop mysql

2. Запустите сервер MySQL / MariaDB без загрузки таблиц привилегий.

Запустите сервер базы данных без загрузки таблиц предоставления:

sudo mysqld_safe --skip-grant-tables &

Амперсанд & в конце приведенной выше команды заставит программу работать в фоновом режиме , так что вы можете продолжать использовать оболочку.

Когда используется --skip-grant-tables , любой может подключиться к серверу базы данных без пароля и со всеми предоставленными привилегиями.

3. Войдите в оболочку MySQL.

Теперь вы можете подключиться к серверу базы данных как пользователь root:

mysql -u root

4. Установите новый пароль root.

  • Выполните следующие команды, если вы используете MySQL 5.7.6 и новее или MariaDB 10.1.20 и новее:

     ALTER USER 'root'@'localhost' IDENTIFIED BY 'MY_NEW_PASSWORD'; FLUSH PRIVILEGES;

    Если инструкция ALTER USER вас не работает, попробуйте напрямую изменить пользовательскую таблицу:

     UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD') WHERE User = 'root' AND Host = 'localhost'; FLUSH PRIVILEGES;
  • Выполните следующие команды, если у вас MySQL 5.7.5 и ранее или MariaDB 10.1.20 и ранее:

     SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD'); FLUSH PRIVILEGES;

В обоих случаях, если все пойдет хорошо, вы должны увидеть следующий результат:

Query OK, 0 rows affected (0.00 sec)

5. Остановите и запустите сервер базы данных в обычном режиме.

Теперь, когда пароль root установлен, остановите сервер базы данных и запустите его как обычно:

mysqladmin -u root -p shutdown

Вам будет предложено ввести новый пароль root.

Запустите сервер базы данных обычным образом:

  • Для MySQL введите:

     sudo systemctl start mysql
  • Для MariaDB введите:

     sudo systemctl start mariadb

6. Подтвердите пароль.

Чтобы убедиться, что новый пароль root был применен правильно, введите:

mysql -u root -p

Вам будет предложено ввести новый пароль root. Введите его, и вы должны войти на свой сервер базы данных.

Выводы

Мы показали вам, как сбросить пароль root для MySQL / MariaDB. Убедитесь, что ваш новый пароль root надежен и надежен, и храните его в надежном месте.

Инструкции в этом руководстве должны работать с любым современным дистрибутивом Linux, таким как Ubuntu 18.04, Debian 10 и CentOS 8.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Оставьте комментарий