Как восстановить пароль mysql?

То, что я уже выполнил, это:

sudo /etc/init.d/mysql stop
/usr/sbin/mysqld --skip-grant-tables --skip-networking & 

После этого я получаю:

[Warning] Using unique option prefix key_buffer instead of
key_buffer_size is deprecated and will be removed in a future release.  
Please use the full name instead.

150929 11:48:31[Note] /usr/sbin/mysqld (mysqld ....)starting as
process 3633 ...

И его не обрабатывают дальше.

Что делать?

1
задан 5 October 2015 в 18:53

2 ответа

Войдите в свою систему в качестве пользователя Unix, который работает на сервере MySQL (например, mysql). Остановите сервер MySQL, если он запущен. Вы сделали это с помощью:
su /etc/init.d/mysql stop
Создайте текстовый файл, содержащий следующий оператор в одной строке. Замените пароль на пароль, который вы хотите использовать.
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

Сохраните файл. В этом примере указан файл /home/me/mysql-init. Файл содержит пароль, поэтому не сохраняйте его там, где он может быть прочитан другими пользователями. Если вы не вошли в систему как mysql (пользователь, на котором запущен сервер), убедитесь, что у файла есть разрешения, позволяющие mysql читать его.

Войдите в систему как пользователь Unix что сервер MySQL работает как (например, mysql).

Сервер запускает содержимое файла с именем --init-file при запуске, изменяя пароль учетной записи 'root'@'localhost'.

Войдите в систему как пользователь Unix, который работает на сервере MySQL (например, mysql).

Остановите сервер MySQL, если он запущен. Вы сделали это с помощью:
su /etc/init.d/mysql stop
1
ответ дан 23 May 2018 в 17:05

Что вы сделали правильно, как описано в руководстве (см. руководство MySQL 5.5 в пункте B.5.4.1.3). В момент, когда вы остановились, ваш сервер MySQL запускается без разрешения. Все, что вам нужно сделать, это выполнить следующие шаги в приведенной выше ссылке (см. Ниже):

Подключитесь к вашему серверу MySQL через терминал:
shell> mysql
Перезапустите таблицы предоставления, чтобы работать с учетными записями :
mysql> FLUSH PRIVILEGES;
Измените пароль (не забудьте ; в конце):
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Выход из клиента MySQL и перезапуск сервера mysql обычно:
mysql> exit;
shell> sudo service mysql restart

Кстати, лучше использовать service start/stop/restart/status для управления различными службами, такими как mysqld, чем использовать версию /etc/init.d/, как и вы.

1
ответ дан 23 May 2018 в 17:05
  • 1
    после команды mysql его высказывание отрицало – Mrityunjay Kumar Singh 3 October 2015 в 10:38
  • 2
    На шаге 3 я получаю: ERROR 1131 (42000): вы используете MariaDB в качестве анонимного пользователя, а анонимным пользователям не разрешается изменять пароли – dxvargas 25 February 2017 в 14:31

Другие вопросы по тегам:

Похожие вопросы: