Как сбросить корневой пароль 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.

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

 ALTER USER 'root' @ 'localhost' ИДЕНТИФИЦИРОВАНО 'thenewpassword'; 

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

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

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

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

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

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

     mysqld --init-file =/path/to/my/init/file 

    Если вы работаете в 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-файл = C: \ Users \ Aaron \ Desktop \ имя-в-файл ).

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

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

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

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

Оцените статью
Solutics.ru
Добавить комментарий