Mysql сброс пароля root для Windows
Обновлено: 21.11.2024
Может возникнуть ситуация, когда вам потребуется сбросить пароль 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.
Если вы никогда не назначали пароль 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.текст .
Теперь вы сможете подключиться к серверу 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).
Когда мы устанавливаем MySQL в Windows, мы обычно указываем пароль пользователя root.Это помогает обеспечить безопасность сервера MySQL. Предположим, вы присоединились к новой организации, и руководство этой организации планирует перенести некоторые базы данных MySQL на SQL Server. Для этого вам нужны учетные данные пользователя root, но организация не отслеживала пароль. В этом случае мы должны сбросить пароль пользователя root.
В этой статье мы узнаем, как сбросить пароль root в MySQL Server в Windows 10. Для демонстрации я подготовил демонстрационную среду на своей рабочей станции, и подробности объясняются в следующем разделе. р>
Настройка среды Windows
Мы изучим методы сброса паролей root в среде Windows. Для демонстрации я создал виртуальную машину и установил на нее Windows 10 и MySQL Server. Установка сервера MySQL была выполнена с помощью мастера установки MySQL. Конфигурация MySQL следующая:
- Версия MySQL: 8.0.23 (сервер сообщества MySQL)
- Домашний каталог MySQL: C:\MySQL_Home\
- Расположение каталога данных: C:\MySQL_Data_Directory\
- Расположение файла инициализации: C:\MySQL_Home\my.ini
Вы можете просмотреть указанные выше сведения в рабочей среде MySQL. Откройте MySQL Workbench и подключитесь к MySQL Server? Нажмите Статус сервера на панели навигации. См. следующее изображение:
Кроме того, вы можете использовать команду mysqladmin для просмотра сведений о сервере MySQL. Команда mysqladmin используется для выполнения различных административных действий, таких как создание и удаление базы данных, просмотр состояния сервера, сведений о конфигурации и т. д. Вы можете прочитать 4.5.2 mysqladmin — программа администрирования сервера MySQL, чтобы узнать больше о команде mysqladmin.
Выполните следующий запрос, чтобы получить информацию о состоянии сервера MySQL.
Действия по сбросу пароля пользователя root:
- Создайте файл инициализации с командой ALTER USER.
- Остановите службы MySQL.
- Запустите службы с помощью mysqld и укажите файл с командой ALTER USER.
- Подключитесь к рабочей среде MySQL и сбросьте пароль root.
- Перезапустите службу.
Теперь давайте посмотрим, как мы можем сбросить пароль root.
Шаг 1. Создайте файл инициализации MySQL.
Сначала создадим текстовый файл с запросом, который будет использоваться для смены пароля. Чтобы изменить пароль, мы будем использовать следующую команду ALTER USER.
Сохраните файл в соответствующем месте.
Шаг 2. Остановите службы MySQL.
Чтобы изменить пароль, мы должны остановить службы MySQL. Чтобы остановить службы MySQL, откройте панель управления? Открыть Инструменты администрирования ? Открыть Службы? Найдите в списке службу MySQL? Щелкните правой кнопкой мыши MySQL и выберите Остановить.
Кроме того, вы можете запустить следующую команду PowerShell, чтобы остановить службу MySQL.
Шаг 3. Запустите службы с помощью файла инициализации.
Мы используем команду mysqld для запуска службы MySQL. mysqld — это однопоточная программа. Он имеет различные параметры конфигурации, которые можно указать при запуске сервера MySQL. Вы можете просмотреть список параметров, выполнив следующую команду.
Мы собираемся использовать опцию -init-file в команде mysqld. Параметр –init-file считывает команду из файла, указанного в параметре. Если вы установили сервер MySQL с помощью мастера установки MySQL, как я, вы должны указать –-defaults-files. В опции – defaults-file и местонахождении конфигурационного файла my.ini. Я создал файл с именем ResetRootPassword.txt в каталоге D:\PasswordFile. Команда mysqld с опцией выглядит следующим образом:
Шаг 4. Подключитесь к MySQL и сбросьте пароль.
Теперь давайте подключимся к MySQL с помощью рабочей среды MySQL. Открыть рабочую среду MySQL? Подключиться от имени пользователя root.
Укажите новый пароль и подключитесь к MySQL.
После подключения выполните следующую команду, чтобы сбросить пароль.
После сброса пароля закройте рабочую среду MySQL, завершите службу mysqld, щелкнув команду Ctrl+C.
После остановки служб удалите файл ResetRootPassword.txt.
Шаг 5. Перезапустите службу MySQL.
Теперь перезапустите службу MySQL из services.msc. Открыть панель управления? Открытые инструменты администрирования? Открытые службы? Найдите службу MySQL ? Щелкните правой кнопкой мыши службу MySQL и выберите Запустить.
Теперь подключитесь к серверу MySQL с помощью пользователя root, как описано в предыдущем разделе.
Как видно на следующем снимке экрана, мы подключены к серверу MySQL.
Обзор
Как администраторы базы данных, мы обязаны отслеживать важные пароли, особенно пароли суперпользователя. Если пароль утерян и его невозможно восстановить, это может быть очень напряжно. В этой статье я описал пошаговый процесс сброса пароля пользователя root. Эта статья может быть полезна для восстановления корневого пароля MySQL в Windows.
MySQL — это популярная система управления базами данных для веб-приложений. Как и многие веб-службы, MySQL имеет пароль уровня администратора или root. Пароль root позволяет пользователю выполнять все функции верхнего уровня в базе данных.
Если вы никогда не устанавливали пароль root для своей базы данных MySQL, вы сможете подключиться к ней. Однако это не очень хорошая практика безопасности, так как любой может получить доступ к вашей базе данных.
Если в вашей базе данных есть пароль root, но вы его потеряли, это руководство поможет вам сбросить пароль root MySQL в Linux и Windows.
- Существующая база данных MySQL
- Доступ к серверу Linux или Windows, на котором работает MySQL
- Права администратора на компьютере, на котором размещена база данных MySQL
- Текстовый редактор. Блокнот включен по умолчанию в Windows. Vim по умолчанию установлен в Linux.
- Доступ к интерфейсу командной строки (или терминалу)
Как изменить корневой пароль пользователя MySQL в Linux
Шаг 1. Войдите в систему как пользователь MySQL
При загрузке установки Linux убедитесь, что вы вошли в систему как тот же пользователь, который обычно запускает MySQL. Хотя вы можете войти в систему как root, после запуска сервера MySQL убедитесь, что вы запускаете его с параметром --user=mysql.
В противном случае система может создать файлы, принадлежащие привилегированному пользователю, что может вызвать проблемы.
Шаг 2. Найдите файл .pid для службы MySQL
Следующий шаг — найти файл .pid для службы MySQL.
Большинство систем хранят их в пути /var/lib/mysql/, /var/run/mysqld/ или /usr/local/mysql/data/. Имя файла обычно начинается с mysqld (или имени хоста вашей системы) и заканчивается расширением .pid.
Шаг 3. Завершите процесс mysqld
Перед созданием нового корневого пароля остановите сервер MySQL. Чтобы убить процесс mysqld, откройте командную строку и выполните следующее:
Замените mysql-data-directory/host_name.pid именем файла, найденным на предыдущем шаге. Обязательно укажите полный путь к файлу. Кроме того, обязательно используйте клавишу обратной галочки (обычно над клавишей табуляции), а не одинарную кавычку в начале команды.
Шаг 4. Создайте файл паролей
<р>1. Откройте ваш любимый текстовый редактор. В этом примере мы используем vim: <р>2. Затем добавьте в файл следующую строку:
Не забывайте использовать одинарные кавычки и точку с запятой. Замените NewPassword на пароль, который вы хотите использовать. Наконец, обязательно используйте надежный пароль, как в этих примерах.
Эта команда будет работать на компьютере, который вы сейчас используете. Если вы подключаетесь к другой системе, замените localhost на соответствующее имя хоста.
<р>3. Сохраните файл в home/me/mysql-init.Шаг 5. Перезапустите сервер MySQL и примените новый пароль
Чтобы применить изменения к паролю, перезапустите сервер MySQL, выполнив в терминале следующую команду:
Это запустит MySQL и применит изменение пароля в текстовом файле. В зависимости от того, как вы запускаете свой сервер, вам может потребоваться добавить другие параметры (например, --defaults-file перед командой init.)
Шаг 6. Очистка
Наконец, войдите на свой сервер MySQL, используя учетную запись root, и убедитесь, что новый пароль работает. Затем удалите файл, созданный на шаге 4.
Как сбросить корневой пароль MySQL в Windows
Шаг 1. Остановите сервер MySQL
<р>1. Для начала проверьте, вошли ли вы в систему как администратор. <р>2. Нажмите Win+R (удерживайте клавишу Windows/Super и нажмите «r».) Когда появится окно «Выполнить», введите: <р>3. Нажмите "ОК".<р>4. Прокрутите список служб, чтобы найти службу MySQL. Щелкните эту запись правой кнопкой мыши, а затем левой кнопкой мыши "Стоп".
Шаг 2. Запустите текстовый редактор
Нажмите на меню и найдите Блокнот.
Кроме того, вы можете использовать путь: меню > Стандартные Windows > Блокнот.
Шаг 3. Создайте новый текстовый файл с помощью команды пароля
<р>1. Введите следующую строку в текстовый редактор:Не забудьте сохранить кавычки и точку с запятой. Замените NewPassword паролем по вашему выбору.
<р>2. Используйте меню «Файл» > «Сохранить как», чтобы сохранить файл в корневой каталог жесткого диска (C:). Выберите имя файла, например mysql-init.txt.
Следовательно, команда localhost изменяет пароль в вашей локальной системе. Если вы меняете пароль в системе по сети, замените имя хоста на localhost.
Шаг 4. Откройте командную строку
<р>1. Нажмите Ctrl+Shift+Esc. <р>2. Затем нажмите меню «Файл» > «Запустить новую задачу». <р>3. Введите cmd.exe и установите флажок для запуска от имени администратора. <р>4. Нажмите "ОК".Шаг 5. Перезапустите сервер MySQL с новым файлом конфигурации
<р>1. Перейдите в каталог MySQL с помощью командной строки: <р>2. Затем введите следующее:Обратите внимание, что после приглашения C: есть две косые черты.
Кроме того, если вы выбрали другое имя файла на шаге 2, используйте это имя после двойной косой черты.
Шаг 6. Очистка
Теперь вы можете войти на сервер MySQL как пользователь root, используя новый пароль.
Перепроверьте, чтобы убедиться, что это работает. Если у вас есть уникальные параметры конфигурации (например, запуск MySQL с параметром --defaults-file), сделайте это.
После запуска MySQL и подтверждения изменения пароля удалите файл C:\mysql-init.txt.
После прочтения этого руководства вы должны быть готовы сбросить пароль root в MySQL в Linux и Windows. Конечно, это не слишком сложно, но это безопасный способ изменить конфиденциальный пароль.
Читайте также: