Mysql, как изменить пароль root для Windows
Обновлено: 21.11.2024
Если вы никогда не назначали пароль root для MySQL, сервер вообще не требует пароля для подключения с правами root . Однако это небезопасно. Инструкции по назначению пароля см. в разделе 2.10.4, «Защита исходной учетной записи MySQL».
Если вы ранее назначали пароль root, но забыли его, вы можете назначить новый пароль. В следующих разделах приведены инструкции для Windows, Unix и Unix-подобных систем, а также общие инструкции, применимые к любой системе.
B.3.3.2.1 Сброс корневого пароля: системы Windows
В Windows используйте следующую процедуру, чтобы сбросить пароль для учетной записи MySQL 'root'@'localhost'. Чтобы изменить пароль для учетной записи root с другой частью имени хоста, измените инструкции для использования этого имени хоста.
Войдите в систему как администратор.
Остановите сервер MySQL, если он запущен. Для сервера, работающего как служба Windows, перейдите к диспетчеру служб: в меню «Пуск» выберите «Панель управления», затем «Администрирование», затем «Службы». Найдите службу MySQL в списке и остановите ее.
Если ваш сервер не работает как служба, вам может потребоваться использовать диспетчер задач, чтобы принудительно остановить его.
Создайте текстовый файл, содержащий оператор назначения пароля в одной строке. Замените пароль паролем, который вы хотите использовать.
Сохраните файл. В этом примере предполагается, что вы назвали файл C:\mysql-init.txt .
Откройте окно консоли, чтобы перейти к командной строке. В меню «Пуск» выберите «Выполнить» и введите cmd в качестве команды для запуска.
Запустите сервер MySQL с системной переменной init_file, заданной для имени файла (обратите внимание, что обратная косая черта в значении параметра удваивается):
Если вы установили MySQL в другое место, измените команду cd соответствующим образом.
Сервер выполняет содержимое файла, указанного в системной переменной init_file, при запуске, изменяя пароль учетной записи 'root'@'localhost'.
Чтобы выходные данные сервера отображались в окне консоли, а не в файле журнала, добавьте параметр --console в команду mysqld.
Если вы установили MySQL с помощью мастера установки MySQL, вам может потребоваться указать параметр --defaults-file. Например:
Подходящий параметр --defaults-file можно найти с помощью диспетчера служб: в меню «Пуск» выберите «Панель управления», затем «Администрирование», затем «Службы». Найдите службу MySQL в списке, щелкните ее правой кнопкой мыши и выберите параметр «Свойства». Поле Путь к исполняемому файлу содержит параметр --defaults-file.
После успешного запуска сервера удалите C:\mysql-init.txt .
Теперь вы сможете подключиться к серверу MySQL как root, используя новый пароль. Остановите сервер MySQL и перезапустите его в обычном режиме. Если вы запускаете сервер как службу, запустите ее из окна служб Windows. Если вы запускаете сервер вручную, используйте любую команду, которую вы обычно используете.
B.3.3.2.2 Сброс пароля root: Unix и Unix-подобные системы
В Unix используйте следующую процедуру, чтобы сбросить пароль для учетной записи MySQL 'root'@'localhost'. Чтобы изменить пароль для учетной записи root с другой частью имени хоста, измените инструкции для использования этого имени хоста.
В инструкциях предполагается, что вы запускаете сервер MySQL из учетной записи входа в систему Unix, которую вы обычно используете для его запуска. Например, если вы запускаете сервер, используя учетную запись mysql, вы должны войти в систему как mysql, прежде чем использовать инструкции. Кроме того, вы можете войти в систему как root , но в этом случае вы должны запустить mysqld с опцией --user=mysql. Если вы запустите сервер как root без использования --user=mysql , сервер может создать файлы, принадлежащие root, в каталоге данных, такие как файлы журналов, и это может вызвать проблемы, связанные с разрешениями, для будущих запусков сервера. В этом случае вы должны либо сменить владельца файлов на mysql, либо удалить их.
Войдите в свою систему как пользователь Unix, от имени которого работает сервер MySQL (например, mysql ).
Остановите сервер MySQL, если он запущен. Найдите файл .pid, содержащий идентификатор процесса сервера. Точное расположение и имя этого файла зависят от вашего дистрибутива, имени хоста и конфигурации. Распространенными местоположениями являются /var/lib/mysql/ , /var/run/mysqld/ и /usr/local/mysql/data/ . Как правило, имя файла имеет расширение .pid и начинается либо с mysqld, либо с имени хоста вашей системы.
Остановите сервер MySQL, отправив нормальное уничтожение (не kill -9 ) процессу mysqld. Используйте фактический путь к файлу .pid в следующей команде:
Используйте обратные кавычки (не прямые кавычки) с командой cat. Это приводит к тому, что вывод cat подставляется в команду kill.
Создайте текстовый файл, содержащий оператор назначения пароля в одной строке. Замените пароль паролем, который вы хотите использовать.
Сохраните файл.В этом примере предполагается, что вы называете файл /home/me/mysql-init. Файл содержит пароль, поэтому не сохраняйте его там, где его могут прочитать другие пользователи. Если вы не вошли в систему как mysql (пользователь, от имени которого работает сервер), убедитесь, что файл имеет разрешения, позволяющие mysql читать его.
Запустите сервер MySQL с системной переменной init_file, заданной для имени файла:
Сервер выполняет содержимое файла, указанного в системной переменной init_file, при запуске, изменяя пароль учетной записи 'root'@'localhost'.
В зависимости от того, как вы обычно запускаете сервер, могут потребоваться и другие параметры. Например, перед аргументом init_file может потребоваться --defaults-file.
После успешного запуска сервера удалите /home/me/mysql-init .
Теперь вы сможете подключиться к серверу MySQL как root, используя новый пароль. Остановите сервер и перезапустите его в обычном режиме.
B.3.3.2.3 Сброс пароля root: общие инструкции
В предыдущих разделах приведены инструкции по сбросу пароля специально для Windows, Unix и Unix-подобных систем. Кроме того, на любой платформе вы можете сбросить пароль с помощью клиента mysql (но этот подход менее безопасен):
При необходимости остановите сервер MySQL, а затем перезапустите его с параметром --skip-grant-tables. Это позволяет любому подключаться без пароля и со всеми привилегиями, а также отключает операторы управления учетными записями, такие как ALTER USER и SET PASSWORD. Поскольку это небезопасно, если сервер запускается с параметром --skip-grant-tables, он также отключает удаленные подключения, включив skip_networking .
Подключиться к серверу MySQL с помощью клиента mysql; пароль не требуется, так как сервер был запущен с параметром --skip-grant-tables :
В клиенте mysql скажите серверу перезагрузить таблицы разрешений, чтобы операторы управления учетными записями работали:
Затем измените пароль учетной записи 'root'@'localhost'. Замените пароль паролем, который вы хотите использовать. Чтобы изменить пароль для учетной записи root с другой частью имени хоста, измените инструкции для использования этого имени хоста.
Теперь вы сможете подключиться к серверу MySQL как root, используя новый пароль. Остановите сервер и перезапустите его в обычном режиме (без параметра --skip-grant-tables и без включения системной переменной skip_networking).
В Windows используйте следующую процедуру, чтобы сбросить пароль для учетной записи MySQL 'root'@'localhost'. Чтобы изменить пароль для учетной записи root с другой частью имени хоста, измените инструкции для использования этого имени хоста.
Войдите в систему как администратор.
Остановите сервер MySQL, если он запущен. Для сервера, работающего как служба Windows, перейдите к диспетчеру служб: в меню «Пуск» выберите «Панель управления», затем «Администрирование», затем «Службы». Найдите службу MySQL в списке и остановите ее.
Если ваш сервер не работает как служба, вам может потребоваться использовать диспетчер задач, чтобы принудительно остановить его.
Создайте текстовый файл, содержащий оператор назначения пароля в одной строке. Замените пароль паролем, который вы хотите использовать.
Сохраните файл. В этом примере предполагается, что вы назвали файл C:\mysql-init.txt .
Откройте окно консоли, чтобы перейти к командной строке. В меню «Пуск» выберите «Выполнить» и введите cmd в качестве команды для запуска.
Запустите сервер MySQL с системной переменной init_file, заданной для имени файла (обратите внимание, что обратная косая черта в значении параметра удваивается):
Если вы установили MySQL в другое место, измените команду cd соответствующим образом.
Сервер выполняет содержимое файла, указанного в системной переменной init_file, при запуске, изменяя пароль учетной записи 'root'@'localhost'.
Чтобы выходные данные сервера отображались в окне консоли, а не в файле журнала, добавьте параметр --console в команду mysqld.
Если вы установили MySQL с помощью мастера установки MySQL, вам может потребоваться указать параметр --defaults-file. Например:
Подходящий параметр --defaults-file можно найти с помощью диспетчера служб: в меню «Пуск» выберите «Панель управления», затем «Администрирование», затем «Службы». Найдите службу MySQL в списке, щелкните ее правой кнопкой мыши и выберите параметр «Свойства». Поле Путь к исполняемому файлу содержит параметр --defaults-file.
После успешного запуска сервера удалите C:\mysql-init.txt .
Теперь вы сможете подключиться к серверу MySQL как root, используя новый пароль. Остановите сервер MySQL и перезапустите его в обычном режиме. Если вы запускаете сервер как службу, запустите ее из окна служб Windows. Если вы запускаете сервер вручную, используйте любую команду, которую вы обычно используете.
Если оператор ALTER USER не сбрасывает пароль, попробуйте повторить процедуру, используя следующие операторы, чтобы напрямую изменить таблицу пользователей:
Может возникнуть ситуация, когда вам потребуется сбросить пароль root для вашей базы данных MySQL. Это может быть связано с тем, что вы забыли свой пароль или вам нужно изменить пароль из соображений безопасности.
В этой статье мы рассмотрим процесс сброса пароля MySQL с помощью командной строки Windows. Для этого выполните следующие действия:
- Для начала проверьте, вошли ли вы в систему как администратор.
- Нажмите Win+R (удерживая клавишу Windows/Super, нажмите «r»). Когда появится окно «Выполнить», введите:
- Нажмите "ОК".
- Прокрутите список служб вниз, чтобы найти службу MySQL. Щелкните правой кнопкой мыши эту запись, а затем щелкните левой кнопкой мыши "Стоп".
Шаг 2. Запустите текстовый редактор
- Нажмите на меню и найдите Блокнот.
- Кроме того, вы можете использовать путь: Меню > Стандартные Windows > Блокнот.
- Введите следующую строку в текстовом редакторе:
- Не забудьте сохранить кавычки и точку с запятой. Замените NewPassword паролем по вашему выбору.
- Используйте меню «Файл» > «Сохранить как», чтобы сохранить файл в корневом каталоге жесткого диска (C:\). Выберите подходящее имя файла, например mysql-init.txt.
Следовательно, команда localhost изменит пароль в вашей локальной системе. Если вы пытаетесь изменить пароль в системе по сети, замените имя хоста на localhost.
- Нажмите Ctrl+Shift+Esc.
- Затем нажмите меню "Файл" > "Запустить новую задачу".
- Введите cmd.exe и установите флажок для запуска от имени администратора.
- Нажмите "ОК".
- Перейдите в каталог MySQL с помощью командной строки:
Обратите внимание, что после приглашения C: есть две косые черты.
Кроме того, если вы выбрали другое имя на шаге 2, используйте то же имя после двойной косой черты.
Шаг 6. Очистка
- Перепроверьте, чтобы убедиться, что это работает. Если у вас есть уникальные параметры конфигурации (например, запуск MySQL с параметром -defaults-file), сделайте это.
После запуска MySQL и подтверждения смены пароля удалите файл C:\myswl-init.txt.
На этом этапе вы успешно сбросили пароль root для своей базы данных MySQL.
MySQL – это реляционная база данных с открытым исходным кодом, известная своей простотой использования и простой установкой в современных операционных системах Linux и Windows. В немодифицированной установке MySQL учетная запись пользователя root не имеет пароля. Это крайне небезопасно!
Как системный администратор мы знаем, что самый простой способ скомпрометировать систему — это использовать неизменный пароль по умолчанию с правами администратора. Чтобы установить пароль root для учетной записи root:
Назначьте пароль с помощью следующей команды:
> mysql> ИЗМЕНИТЬ ПОЛЬЗОВАТЕЛЯ 'root'@'localhost', ИДЕНТИФИЦИРОВАННОГО 'PASSWORD_HERE'; >
К счастью, в большинстве случаев установки MySQL для конкретных операционных систем будут настроены на создание случайного пароля для пользователя root при первом запуске базы данных. Вместо установки пароля вы его измените.
Для разных платформ (Windows, Linux и т. д.) потребуются несколько разные методы сброса пароля.
Изменение пароля пользователя root в Linux
Войдите в свою систему как пользователь Unix, от имени которого работает сервер MySQL (например, mysql). Они будут работать в большинстве дистрибутивов Linux (ubuntu, Debian, Fedora и т. д.).
- Войдите в целевую систему с помощью SSH или другой удаленной оболочки.
- Остановите сервер MySQL, если он запущен. В большинстве случаев это делается с помощью системы инициализации вашей операционной системы (systemD, SysV init или upstart).
- Если вы не уверены или у вас есть пользовательская установка MySQL, вы можете остановить сервер MySQL, отправив обычный TERM процессу mysqld с помощью команды kill
- Создайте текстовый файл, содержащий инструкцию SQL для назначения пароля в одной строке.
- Сохраните файл на диск. Примечание. Убедитесь, что пользователь mysql (или пользователь, под которым работает база данных) имеет доступ для чтения к файлу.
- Запустите сервер MySQL с установленным флагом CLI init_file, чтобы назвать файл, который вы сохранили выше.
- При загрузке сервера он выполнит содержимое указанного выше файла, что изменит пароль.
- После успешного запуска сервера вы можете удалить созданный ранее файл SQL. В отдельной командной строке или с помощью выбранного вами инструмента с графическим интерфейсом теперь вы сможете подключиться к серверу MySQL как пользователь root, используя новый пароль.
- Остановите сервер MySQL (обычно с помощью клавиши C) и запустите MySQL в обычном режиме из системы инициализации вашей операционной системы.
Изменение пароля пользователя root в Windows
Сброс пароля root очень похож на процесс, используемый в Linux, с некоторыми изменениями! Мы создадим еще один файл инициализации, содержащий оператор сброса пароля, и запустим сервер вручную в нашей командной строке.
- Войдите в свою систему через RDP или консоль как пользователь с правами администратора
- Остановите сервер MySQL, если он запущен
Для сервера, который работает как служба Windows, перейдите к диспетчеру служб: в меню «Пуск» выберите «Панель управления», затем «Администрирование», затем «Службы». Найдите службу MySQL в списке и остановите ее.
- Создайте текстовый файл, содержащий инструкцию SQL для назначения пароля в одной строке.
- Сохраните файл на диск.
- Откройте командную строку (Пуск → Выполнить → cmd)
- Запустите сервер MySQL с флагом CLI init_file, установленным для имени файла, который вы сохранили выше. Примечание. Обратная косая черта должна быть экранирована, поэтому используйте два пути к файлу, как в примере ниже.
>
C:\> cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
C:\> mysqld --init-file=C:\\mysql-init .txt
>
- При загрузке сервера он выполнит содержимое указанного выше файла, что изменит пароль.
- После успешного запуска сервера вы можете удалить созданный ранее файл SQL. В отдельной командной строке или с помощью выбранного вами инструмента с графическим интерфейсом теперь вы сможете подключиться к серверу MySQL как пользователь root, используя новый пароль.
- Остановите сервер MySQL и перезапустите его в обычном режиме из сервисной консоли Windows.
Управление пользователями MySQL с помощью strongDM
Большинство специалистов по безопасности не рекомендуют использовать пользователя root для доступа человека или приложения к базе данных. Административные привилегии, которыми обладает пользователь root, представляют собой огромную уязвимость системы безопасности, ожидающую своего проявления!
Как лучше всего предоставить доступ к базе данных вашим разработчикам? Несколько аккаунтов? Один общий аккаунт? Если вы меняете пароль, как вы сообщаете об этом всем?
Введите сильный DM. strongDM позволяет абстрагироваться от разработчиков и позволяет системному администратору хранить главные пароли в безопасном месте под замком. strongDM обеспечивает централизованную аутентификацию и аудит всех действий на хосте MySQL.
Попробуйте strongDM самостоятельно, воспользовавшись бесплатной 14-дневной пробной версией, или запланируйте 15-минутную демонстрацию вместе с командой.
Читайте также: