Восстановление забытого пароля для root'a MySQL Печать

Восстановление забытого пароля для root'a MySQL

Схожая проблема возникает если не задать пароль при установке MySQL, в этом случае mysql использует плагин unix-socket.

  1. Остановите mysqld:

    sudo service mysql stop
  2. Запустите mysqld с параметрами --skip-grant-tables --user=root:

    sudo mysqld --skip-grant-tables --user=root

    Если команда не сработает, добавьте строку «skip-grant-tables» в секцию «[mysqld]» файла /etc/mysql/mysql.conf.d/mysqld.cnf. Затем выполните sudo service mysql restart. После выполнения операций удалите эту строку.

  3. Подключитесь к MySQL-серверу командой:

    mysql -u root
  4. Обновите пароль для root'a:

    UPDATE mysql.user SET authentication_string=PASSWORD(''), plugin='mysql_native_password' WHERE User='root' AND Host='localhost';    
    FLUSH PRIVILEGES;

    Для MySQL версий < 5.7:

    UPDATE mysql.user SET Password=PASSWORD('') WHERE User='root';
    FLUSH PRIVILEGES;
  5. Перезапустите демона:

    sudo service mysql restart

Теперь можете проверить вход под root с новым паролем:

mysql -u root -p
Обновлено 31.01.2019 09:55