Как сбросить пароль root в MySQL 5.7 в Ubuntu 16.04

Вы забыли пароль root MySQL на вашем сервере? Вы переустановили MySQL на своем сервере, неправильно ввели пароль, и теперь вы не можете получить доступ к вашему серверу MySQL? Каковы бы ни были причины, очень важно знать, как сбросить пароль root на вашем сервере MySQL в случае, если произойдет что-то подобное упомянутым случаям.

В этом уроке мы покажем, как сбросить пароль root вашего сервера MySQL в Ubuntu 16.04.

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

В качестве первого шага вам нужно остановить любой работающий экземпляр MySQL, который активен:

sudo service mysql stop

Это позволит вам запустить службу MySQL в безопасном режиме.

2. Запустите MySQL в безопасном режиме

Если вы уверены, что в фоновом режиме не выполняется ни один процесс MySQL, вы можете запустить безопасную версию MySQL с помощью mysqld_safe. Однако он будет выполнен с аргументом skip-grant-tables:

mysqld_safe --skip-grant-tables &

Это позволяет любому пользователю подключаться без пароля и со всеми привилегиями, а также отключает операторы управления учетными записями, такие как ALTER USER а также SET PASSWORD. Поскольку это небезопасно, если сервер запущен с --skip-grant-tables опция, это позволяет --skip-networking автоматически для предотвращения удаленных подключений.

3. Доступ от имени пользователя root

Теперь, когда mysql работает без какой-либо локальной проверки безопасности, вам нужно войти в систему как пользователь root с помощью следующей команды в CLI MySQL:

mysql -u root mysql

4. Сменить пароль

Теперь, когда у вас есть доступ к интерфейсу командной строки mysql, вы сможете без проблем выполнять запросы, в том числе и те, которые изменяют пароль Root. Сначала измените базу данных на mysql с помощью следующего запроса:

use mysql;

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

update user set authentication_string=password('YOUR-NEW-PASSWORD') where user='root';

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

ОШИБКА 1820 (HY000): перед выполнением этого оператора необходимо сбросить пароль с помощью инструкции ALTER USER.

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

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOUR-NEW-PASSWORD';

Затем снова запустите запрос на обновление, и он снова будет работать (больше информации об этой проблеме здесь). И это все! На следующем шаге вы сможете войти в mysql как root с новым паролем.

5. Остановите безопасный MySQL и запустите нормальный сервис

Остановите безопасную версию MySQL с помощью следующей команды:

sudo service mysql stop

И снова запустите обычный сервис:

service mysql start

Как только служба запускается правильно, получите доступ к MySQL CLI с помощью следующей команды:

mysql -u root -p

Это запросит пароль, который вы установили ранее для пользователя root, и все!

Ссылка на основную публикацию
Adblock
detector