Spec-Zone .ru
спецификации, руководства, описания, API

C.5.4.1. Как Сбросить Корневой Пароль

Если Вы никогда не устанавливали a root пароль для MySQL, сервер не требует пароля вообще для того, чтобы соединиться как root. Однако, это небезопасно. Для получения инструкций по присваивающимся паролям см. Раздел 2.10.2, "Защищая Учетные записи MySQL Initial".

Если Вы знаете root пароль, но хотят изменить это, видеть Раздел 13.7.1.7,"SET PASSWORD Синтаксис".

Если Вы устанавливаете a root пароль ранее, но забыли это, можно установить новый пароль. Следующие разделы обеспечивают инструкции для Windows и систем Unix, так же как универсальные инструкции, которые применяются к любой системе.

C.5.4.1.1. Сброс Корневого Пароля: Системы Windows

На Windows используйте следующую процедуру, чтобы сбросить пароль для всего MySQL root учетные записи:

  1. Войдите в систему к своей системе как Администратор.

  2. Остановите сервер MySQL, если он работает. Для сервера, который работает как служба Windows, пойдите к менеджеру по Службам: От Меню "Пуск" выберите Панель управления, тогда Средства администрирования, тогда Службы. Найдите службу MySQL в списке и остановите это.

    Если Ваш сервер не работает как сервис, Вы, возможно, должны использовать Диспетчер задач, чтобы вынудить его остановиться.

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

    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';FLUSH PRIVILEGES;

    Запишите UPDATE и FLUSH операторы каждый на одной строке. UPDATE оператор сбрасывает пароль для всех root учетные записи, и FLUSH оператор говорит серверу перезагружать таблицы предоставления в память так, чтобы это заметило изменение пароля.

  4. Сохраните файл. Для этого примера назовут файл C:\mysql-init.txt.

  5. Откройте консоль, чтобы добраться до командной строки: От Меню "Пуск" выберите Выполнение, затем введите cmd как команду, которая будет выполнена.

  6. Запустите сервер MySQL со специального предложения --init-file опция (замечают, что наклонная черта влево в значении опции удваивается):

    C:\> C:\mysql\bin\mysqld
                            --init-file=C:\\mysql-init.txt

    Если Вы устанавливали MySQL к расположению кроме C:\mysql, скорректируйте команду соответственно.

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

    Можно также добавить --console опция к команде, если Вы хотите, чтобы вывод сервера появился в консоли, а не в файле журнала.

    Если Вы устанавливали MySQL, используя MySQL Installation Wizard, Вы, возможно, должны определить a --defaults-file опция:

    C:\> "C:\Program
                            Files\MySQL\MySQL Server 5.7\bin\mysqld.exe"         --defaults-file="C:\\Program Files\\MySQL\\MySQL Server
                            5.7\\my.ini"         --init-file=C:\\mysql-init.txt

    Соответствующее --defaults-file установка может быть найдена, используя менеджера по Службам: От Меню "Пуск" выберите Панель управления, тогда Средства администрирования, тогда Службы. Найдите службу MySQL в списке, щелчок правой кнопкой это, и выберите Properties опция. Path to executable поле содержит --defaults-file установка.

  7. После того, как сервер запустился успешно, удалить C:\mysql-init.txt.

Следует теперь быть в состоянии соединиться с сервером MySQL как root использование нового пароля. Остановите сервер MySQL, затем перезапустите его в нормальном режиме снова. Если Вы выполняете сервер как сервис, запустите его с окна Windows Services. Если Вы запускаете сервер вручную, используйте любую команду, которую Вы обычно используете.

C.5.4.1.2. Сброс Корневого Пароля: Системы Unix

На Unix используйте следующую процедуру, чтобы сбросить пароль для всего MySQL root учетные записи. Инструкции предполагают, что Вы запустите сервер так, чтобы он выполнил использование учетной записи Unix, которую Вы обычно используете для того, чтобы выполнить сервер. Например, если Вы выполняете сервер, используя mysql учетная запись, следует войти в систему как mysql перед использованием инструкций. Альтернативно, можно войти в систему как root, но в этом случае следует запустить mysqld с --user=mysql опция. Если Вы запускаете сервер как root без использования --user=mysql, сервер может создать root- находящиеся в собственности файлы в каталоге данных, такие как файлы журнала, и они могут вызвать связанные с разрешением проблемы для будущих запусков сервера. Если это произойдет, то Вы будете нуждаться к любому изменению во владении файлов к mysql или удалите их.

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

  2. Расположитесь .pid файл, который содержит ID процесса сервера. Точное расположение и имя этого файла зависят от Вашего распределения, имени хоста, и конфигурации. Общие расположения /var/lib/mysql/, /var/run/mysqld/, и /usr/local/mysql/data/. Обычно, у имени файла есть расширение .pid и начинается также mysqld или имя хоста Вашей системы.

    Можно остановить сервер MySQL, отправляя нормальное kill (нет kill -9) к процессу mysqld, используя путь .pid файл в следующей команде:

    shell> kill `cat
                            /mysql-data-directory/host_name.pid`

    Используйте обратные галочки (не прямые кавычки) с cat команда. Они вызывают вывод cat быть замененным в kill команда.

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

    UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';FLUSH PRIVILEGES;

    Запишите UPDATE и FLUSH операторы каждый на одной строке. UPDATE оператор сбрасывает пароль для всех root учетные записи, и FLUSH оператор говорит серверу перезагружать таблицы предоставления в память так, чтобы это заметило изменение пароля.

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

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

    shell> mysqld_safe
                            --init-file=/home/me/mysql-init &

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

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

Следует теперь быть в состоянии соединиться с сервером MySQL как root использование нового пароля. Остановите сервер и обычно перезапускайте его.

C.5.4.1.3. Сброс Корневого Пароля: Универсальные Инструкции

Предыдущие разделы обеспечивают сбрасывающие пароль инструкции для систем Unix и Windows. Альтернативно, на любой платформе, можно установить новый пароль, используя mysql клиент (но этот подход менее безопасен):

  1. Остановите mysqld и перезапустите его с --skip-grant-tables опция. Это позволяет любому соединиться без пароля и со всеми полномочиями. Поскольку это небезопасно, Вы могли бы хотеть использовать --skip-grant-tables в соединении с --skip-networking препятствовать тому, чтобы удаленные клиенты соединились.

  2. Соединитесь с mysqld сервером с этой командой:

    shell> mysql
  3. Сделайте следующие заявления в mysql клиенте. Замените пароль паролем, который Вы хотите использовать.

    mysql> UPDATE mysql.user SET
                            Password=PASSWORD('MyNewPass')    ->                   WHERE User='root';mysql> FLUSH PRIVILEGES;

    FLUSH оператор говорит серверу перезагружать таблицы предоставления в память так, чтобы это заметило изменение пароля.

Следует теперь быть в состоянии соединиться с сервером MySQL как root использование нового пароля. Остановите сервер, затем обычно перезапускайте его (без --skip-grant-tables и --skip-networking опции).