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

На этот вопрос уже есть ответ здесь:

Что я уже сделал:

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 ...

И он не обрабатывается дальше.

Что делать?

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

3 ответа

Следующие шаги могли быть:

  1. В терминале:

    mysql
    
  2. В оболочке mysql:

    use mysql;
    select user,password,host from user;
    update user set password=password("newpassword") where user=root;
    select user,password,host from user;
    flush tables;
    FLUSH PRIVILEGES;
    quit
    
  3. В терминале:

    kill -15 `pgrep -f 'skip-grant-tables' 
    service mysql start
    mysql -u root -p
    
2
ответ дан 2 December 2019 в 02:21
  1. Входят в Вашу систему как в пользователя UNIX, которого сервер MySQL выполняет как (например, mysql).

  2. Остановка сервер MySQL, если это работает. Вы сделали это с:

    su /etc/init.d/mysql stop
    
  3. Создают текстовый файл, содержащий следующее утверждение на одной строке. Замените пароль паролем, который Вы хотите использовать.

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
    

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

  1. Запускают сервер MySQL со специального предложения --init-file опция:

    shell> /usr/sbin/mysqld --init-file=/home/me/mysql-init &
    

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

  1. После того, как сервер запустился успешно, удалите /home/me/mysql-init.

  2. Уничтожают mysqld и запускают его с:

    su /etc/init.d/mysql start
    
1
ответ дан 2 December 2019 в 02:21

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

  1. Подключение к Вашему серверу MySQL через терминал:

    shell> mysql
    
  2. Перезагрузка таблицы предоставления так, чтобы операторы ведения счетов работали:

    mysql> FLUSH PRIVILEGES;
    
  3. Изменение пароль (не забывают ; в конце):

    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
    
  4. клиент MySQL Exit и перезапуск mysql сервер обычно:

    mysql> exit;
    shell> sudo service mysql restart
    

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

1
ответ дан 2 December 2019 в 02:21

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

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