Spec-Zone .ru
спецификации, руководства, описания, API
|
Если Вы никогда не устанавливали a root
пароль для MySQL, сервер не требует пароля
вообще для того, чтобы соединиться как root
. Однако, это небезопасно. Для получения
инструкций по присваивающимся паролям см. Раздел 2.10.2,
"Защищая Учетные записи MySQL Initial".
Если Вы знаете root
пароль, но хотят изменить это, видеть Раздел
13.7.1.7,"SET PASSWORD
Синтаксис".
Если Вы устанавливаете a root
пароль ранее, но забыли это, можно установить новый
пароль. Следующие разделы обеспечивают инструкции для Windows и систем Unix, так же как универсальные
инструкции, которые применяются к любой системе.
На Windows используйте следующую процедуру, чтобы сбросить пароль для всего MySQL root
учетные записи:
Войдите в систему к своей системе как Администратор.
Остановите сервер MySQL, если он работает. Для сервера, который работает как служба Windows, пойдите к менеджеру по Службам: От
выберите , тогда , тогда . Найдите службу MySQL в списке и остановите это.Если Ваш сервер не работает как сервис, Вы, возможно, должны использовать Диспетчер задач, чтобы вынудить его остановиться.
Создайте текстовый файл, содержащий следующие операторы. Замените пароль паролем, который Вы хотите использовать.
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';FLUSH PRIVILEGES;
Запишите UPDATE
и FLUSH
операторы каждый на одной строке. UPDATE
оператор сбрасывает пароль для всех root
учетные записи, и FLUSH
оператор говорит серверу перезагружать таблицы
предоставления в память так, чтобы это заметило изменение пароля.
Сохраните файл. Для этого примера назовут файл C:\mysql-init.txt
.
Откройте консоль, чтобы добраться до командной строки: От cmd как команду, которая будет выполнена.
выберите , затем введите Запустите сервер 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
установка.
После того, как сервер запустился успешно, удалить C:\mysql-init.txt
.
Следует теперь быть в состоянии соединиться с сервером MySQL как root
использование нового пароля. Остановите сервер MySQL, затем перезапустите его в нормальном режиме снова.
Если Вы выполняете сервер как сервис, запустите его с окна Windows Services. Если Вы запускаете сервер
вручную, используйте любую команду, которую Вы обычно используете.
На Unix используйте следующую процедуру, чтобы сбросить пароль для всего MySQL root
учетные записи. Инструкции предполагают, что Вы запустите сервер так, чтобы
он выполнил использование учетной записи Unix, которую Вы обычно используете для того, чтобы выполнить
сервер. Например, если Вы выполняете сервер, используя mysql
учетная запись,
следует войти в систему как mysql
перед использованием инструкций.
Альтернативно, можно войти в систему как root
, но в этом случае следует запустить mysqld с --user=mysql
опция. Если Вы запускаете сервер как root
без использования --user=mysql
,
сервер может создать root
- находящиеся в собственности файлы в каталоге данных,
такие как файлы журнала, и они могут вызвать связанные с разрешением проблемы для будущих запусков сервера.
Если это произойдет, то Вы будете нуждаться к любому изменению во владении файлов к mysql
или удалите их.
Войдите в систему к своей системе как пользователь Unix, которого mysqld сервер выполняет как (например, mysql
).
Расположитесь .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
команда.
Создайте текстовый файл, содержащий следующие операторы. Замените пароль паролем, который Вы хотите использовать.
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';FLUSH PRIVILEGES;
Запишите UPDATE
и FLUSH
операторы каждый на одной строке. UPDATE
оператор сбрасывает пароль для всех root
учетные записи, и FLUSH
оператор говорит серверу перезагружать таблицы
предоставления в память так, чтобы это заметило изменение пароля.
Сохраните файл. Для этого примера назовут файл /home/me/mysql-init
.
Файл содержит пароль, таким образом, это не должно быть сохранено, где это может быть считано
другими пользователями. Если Вы не зарегистрированы как mysql
(пользователь выполнения сервера как), удостоверьтесь, что у файла есть полномочия то разрешение
mysql
считать это.
Запустите сервер MySQL со специального предложения --init-file
опция:
shell> mysqld_safe
--init-file=/home/me/mysql-init &
Сервер выполняет содержание файла, названного --init-file
опция при запуске, изменяя каждого root
пароль учетной записи.
После того, как сервер запустился успешно, удалить /home/me/mysql-init
.
Следует теперь быть в состоянии соединиться с сервером MySQL как root
использование нового пароля. Остановите сервер и обычно перезапускайте его.
Предыдущие разделы обеспечивают сбрасывающие пароль инструкции для систем Unix и Windows. Альтернативно, на любой платформе, можно установить новый пароль, используя mysql клиент (но этот подход менее безопасен):
Остановите mysqld и перезапустите его с --skip-grant-tables
опция. Это позволяет любому соединиться без пароля
и со всеми полномочиями. Поскольку это небезопасно, Вы могли бы хотеть использовать --skip-grant-tables
в соединении с --skip-networking
препятствовать тому, чтобы удаленные клиенты
соединились.
Соединитесь с mysqld сервером с этой командой:
shell> mysql
Сделайте следующие заявления в mysql клиенте. Замените пароль паролем, который Вы хотите использовать.
mysql>UPDATE mysql.user SET Password=PASSWORD('MyNewPass')
->WHERE User='root';
mysql>FLUSH PRIVILEGES;
FLUSH
оператор говорит серверу перезагружать таблицы
предоставления в память так, чтобы это заметило изменение пароля.
Следует теперь быть в состоянии соединиться с сервером MySQL как root
использование нового пароля. Остановите сервер, затем обычно перезапускайте его (без --skip-grant-tables
и --skip-networking
опции).