Определите версию сервера
В зависимости от версии сервера 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 надежен и надежен, и храните его в надежном месте.
Добавить комментарий