
Забыли пароль 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 вы используете.
Как сбросить пароль root 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.
Если у вас есть вопросы, не стесняйтесь оставлять комментарии.
Связанные руководства
- Как установить WordPress с Apache в Ubuntu 18.04
- Как установить Magento 2 на Ubuntu 18.04
- Как установить WordPress с Nginx на CentOS 7
- Как установить и защитить phpMyAdmin с Apache в Debian 9
- Как установить phpMyAdmin с Nginx в Ubuntu 18.04
- Как установить phpMyAdmin с Nginx на CentOS 7
- Как установить и защитить phpMyAdmin с помощью Apache на CentOS 7