Как сбросить корневой пароль MySQL

Вы можете быть немного смущены, когда вам необходимо сбросить пароль root для вашей установки MySQL. Если вы пришли из мира Windows, вы, возможно, совсем не знакомы с термином «root». Для пользователей Unix на macOS и Linux, которые знают, вы можете быть обеспокоены, что это означает изменение вашего пароля суперпользователя. Первый шаг — понять, что именно представляет собой этот пароль MySQL.

Что такое корневой пароль MySQL?

Чтобы ответить на этот вопрос, давайте сначала определим, что такое системный пароль root. Корневая учетная запись является эквивалентом администратора в Windows или того, кто может изменить любую часть системы. В Unix-подобных системах root действительно может делать все что угодно, но он отличается тем, что он создается автоматически при установке системы и не может быть обычно удален. Сравните это с Windows, где любой пользователь может считаться администратором.

И в MacOS, и во многих дистрибутивах Linux этот пользователь по умолчанию отключен. Вместо этого вы обычно будете использовать команды su / sudo. Они выполняют вашу команду, как если бы вы были суперпользователем. Это то же самое, что использовать «Запуск от имени администратора» для запуска приложений Windows.

Теперь рассмотрим, что MySQL является многопользовательской подсистемой. Вы устанавливаете его на свой компьютер или сервер и назначаете его собственным пользователям, а затем назначаете этим пользователям их собственные разрешения. Они могут полностью отличаться от пользователей в системе в целом, особенно в системах * nix, таких как Linux. Таким образом, так же, как у всей системы есть пользователь root, подсистеме MySQL нужен суперпользователь, который может это исправить, если что-то пойдет не так. Это root-пользователь MySQL. И иногда вам может понадобиться изменить пароль этого пользователя.

Когда создается пароль пользователя root MySQL?

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

Создание файла инициализации для сброса пароля MySQL

Изменение пароля пользователя root в Unix-подобных системах обычно является серьезной задачей. Вы не можете сделать это легко, иначе кто-нибудь может сделать это и взять под контроль вашу систему. Обычные инструменты для сброса пароля будут работать нормально, если у вас есть текущий пароль, но давайте предположим, что у вас его нет, и вам нужно сбросить пароль на что-то новое.

Хитрость, которую мы будем использовать для сброса пароля, заключается в использовании файла инициализации при запуске сервера MySQL. Это файл, который может содержать команды, которые выполняются вместе с обычными конфигурациями. В этом случае одна из этих команд собирается изменить пароль для пользователя root.

Независимо от вашей ОС, вы можете подготовиться к этому, создав однострочный текстовый файл, содержащий следующее:

Вы можете посмотреть на эту команду и понять, что она делает довольно легко. Это изменение пользователя с именем «root» на «localhost» или компьютера, на котором вы работаете. Вторая половина устанавливает пароль для этого пользователя «thenewpassword».

Когда вы запускаете сервер MySQL и загружаете его в этот файл инициализации, он будет выполнять команды внутри, и эффект будет обновлять пароль пользователя root по мере запуска сервера.

Сброс пароля MySQL путем запуска MySQL с помощью файла инициализации

Основная последовательность действий, которую мы сделаем, — это остановить сервер, если он работает, запустить его снова вручную с помощью файла инициализации, остановить его снова и, наконец, перезапустить его обычным способом. Конкретные шаги заключаются в следующем:


  1. Остановите MySQL, если он работает:

    Запуск и остановка MySQL в Windows с помощью сервисного инструмента
    Скриншот

    • В Windows из меню «Пуск» откройте Панель управления, и запустить Инструменты управления. Это в Система и безопасность Категория, если это так, как у вас есть панель управления. Выбрать Сервисы (узнайте о службах Windows здесь), затем найдите MySQL в списке. Если он отображается как запущенный, выберите Остановить службу чтобы закрыть его.
    • В macOS перейдите в Системные настройки > MySQL. Панель настроек появится и покажет вам, работает ли сервер, а также даст вам возможность остановить его.
    • На Linux можно выдаватьsudo service mysqld stop«чтобы выключить сервер.


  2. Затем снова запустите сервер и укажите созданный вами файл инициализации. Команда:

    Если вы работаете в Windows, убедитесь, что вы запускаете приведенную выше команду из каталога исполняемого файла, обычно C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ bin. Кроме того, если вы использовали пакет установщика Windows MySQL (.msi), вам также потребуется добавить «файл по умолчанию», чтобы загрузить все другие конфигурации, необходимые MySQL: mysqld —defaults-file = «C: \ ProgramData \ MySQL \ MySQL Server 8.0 \ my.ini» —init-file = C: \ Users \ aaron \ Desktop \ имя-файла-файла).


  3. Наконец, перезапустите сервер MySQL:

    • В Windows перейдите к Сервисы экран, затем выберите Запустить сервис для MySQL.
    • В macOS снова запустите резервное копирование сервера с экрана настроек MySQL.
    • В Linux запустите запуск службы sudo mysqld.

    Хотя в этом нет особой необходимости, рекомендуется убедиться, что он запускается со всеми обычными конфигурациями.


  4. На этом этапе попробуйте войти на сервер с помощью клиента командной строки, используя обновленный пароль.


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