2.3.3.8 Запуск MySQL как службы Windows
В Windows рекомендуется устанавливать MySQL как службу, чтобы MySQL запускался и останавливался автоматически при запуске и остановке Windows. MySQL-сервер, установленный как служба, также может управляться из командной строки с помощью команд NET или с помощью графического приложения Услуги. Обычно для установки MySQL в качестве службы Windows необходимо войти в систему под учетной записью с правами администратора.
Приложение Услуги (менеджер управления службами Windows) находится в панели управления Windows. Для предотвращения конфликтов рекомендуется закрывать приложение Услуги во время операций установки или удаления сервера из командной строки.
Установка службы
Перед установкой MySQL в качестве службы, необходимо сначала остановить текущий сервер, если он работает, используя следующую команду:
C:\> "C:\Program Files\MySQL\MySQL Server 9.2\bin\mysqladmin"
-u root shutdown
Если у пользователя MySQL root есть пароль, необходимо вызвать mysqladmin с опцией -p и указать пароль при запросе.
Эта команда вызывает утилиту управления MySQL mysqladmin для подключения к серверу и указания на его остановку. Команда подключается как пользователь MySQL root, который является стандартной учетной записью администратора в системе разрешений MySQL.
Пользователи в системе разрешений MySQL полностью независимы от любых пользователей операционной системы в Windows.
Установите сервер как службу, используя эту команду:
C:\> "C:\Program Files\MySQL\MySQL Server 9.2\bin\mysqld" --install
Команда установки службы не запускает сервер. Инструкции по этому вопросу будут приведены позже в данном разделе.
Чтобы упростить вызов программ MySQL, можно добавить имя пути к каталогу MySQL bin в переменную среды Windows PATH:
В окне рабочего стола щелкните правой кнопкой мыши значок Мой компьютер и выберите .
Далее, в появившемся меню выберите вкладку и нажмите кнопку .
В разделе Системные переменные выберите и нажмите кнопку . Появится диалоговое окно .
-
Поместите курсор в конец текста, отображаемого в поле Значение переменной. (Используйте клавишу End, чтобы убедиться, что курсор расположен в самом конце текста в этом поле). Затем введите полное имя пути к вашему каталогу MySQL
bin(например,C:\Program Files\MySQL\MySQL Server 9.2\bin), и между этим путем и любыми существующими значениями в этом поле должен стоять символ точки с запятой. Закройте это диалоговое окно, а затем все остальные открытые диалоговые окна, нажав . Теперь вы сможете вызвать любую исполняемую программу MySQL, набрав ее имя в командной строке DOS из любого каталога системы, без необходимости указывать путь. Это включает серверы, клиента mysql, а также все утилиты командной строки MySQL, такие как mysqladmin и mysqldump.Не добавляйте каталог MySQL
binв переменную среды WindowsPATH, если на вашем компьютере запущены несколько MySQL-серверов.
При ручном редактировании системной переменной PATH необходимо соблюдать особую осторожность; случайное удаление или изменение любой части существующего значения PATH может привести к некорректной или даже неработоспособной системе.
При установке службы можно использовать следующие дополнительные аргументы:
Можно указать имя службы сразу после опции
--install. Имя службы по умолчанию —MySQL.-
Если задано имя службы, за ним может следовать одна опция. По соглашению, это должна быть опция
--defaults-file=для указания имени файла параметров, из которого сервер должен читать параметры при запуске.file_nameИспользование единственной опции, отличной от
--defaults-file, возможно, но не рекомендуется.--defaults-fileболее гибкая, поскольку позволяет задавать несколько параметров запуска сервера, помещая их в указанный файл параметров. Также можно указать опцию
--local-serviceпосле имени службы. Это заставит сервер работать под учетной записьюLocalServiceWindows с ограниченными системными привилегиями. Если после имени службы указаны опции--defaults-fileи--local-service, они могут быть в любом порядке.
Для MySQL-сервера, установленного как служба Windows, следующие правила определяют имя службы и файлы параметров, используемые сервером:
Если команда установки службы не указывает имя службы или указывает имя службы по умолчанию (
MySQL) после опции--install, сервер использует имя службыMySQLи читает параметры из группы[mysqld]в стандартных файлах параметров.Если команда установки службы указывает имя службы, отличное от
MySQL, после опции--install, сервер использует это имя службы. Он читает параметры из группы[mysqld]и группы с тем же именем, что и служба, в стандартных файлах параметров. Это позволяет использовать группу[mysqld]для параметров, которые должны использоваться всеми MySQL-службами, и группу с именем службы для сервера, установленного с этим именем службы.Если команда установки службы указывает опцию
--defaults-fileпосле имени службы, сервер читает параметры так же, как описано в предыдущем пункте, за исключением того, что он читает параметры только из указанного файла и игнорирует стандартные файлы параметров.
В качестве более сложного примера рассмотрим следующую команду:
C:\> "C:\Program Files\MySQL\MySQL Server 9.2\bin\mysqld"
--install MySQL --defaults-file=C:\my-opts.cnf
Здесь имя службы по умолчанию (MySQL) указано после опции --install. Если бы опция --defaults-file не была указана, эта команда привела бы к чтению сервером группы [mysqld] из стандартных файлов параметров. Однако, поскольку присутствует опция --defaults-file, сервер читает параметры из группы [mysqld] параметров и только из указанного файла.
В Windows, если сервер запускается с опциями --defaults-file и --install, --install должна быть первой. В противном случае, mysqld.exe попытается запустить MySQL-сервер.
Также можно задать параметры в качестве параметров запуска в приложении Услуги Windows перед запуском службы MySQL.
Наконец, перед запуском службы MySQL убедитесь, что переменные среды %TEMP% и %TMP% (а также %TMPDIR%, если она когда-либо была задана) для пользователя операционной системы, который будет запускать службу, указывают на папку, к которой у пользователя есть доступ для записи. Пользователь по умолчанию для запуска службы MySQL — это LocalSystem, а значения по умолчанию для его переменных %TEMP% и %TMP% — это C:\Windows\Temp, каталог, к которому LocalSystem имеет доступ для записи по умолчанию. Однако, если произошли какие-либо изменения в этом стандартном конфигурации (например, изменения пользователя, запускающего службу, или изменения упомянутых переменных среды, или опция --tmpdir была использована для задания временной папки в другом месте), служба MySQL может не запуститься, так как требуемый пользователь не имеет доступа для записи во временную папку.
Запуск службы
После установки экземпляра MySQL-сервера как службы, Windows автоматически запускает службу при каждом запуске Windows. Службу также можно запустить немедленно из приложения Услуги или с помощью команды sc start mysqld_service_name или NET START mysqld_service_name. Команды SC и NET не чувствительны к регистру.
При запуске в качестве службы, mysqld не имеет доступа к окну консоли, поэтому сообщения там нельзя увидеть. Если mysqld не запускается, проверьте журнал ошибок, чтобы увидеть, записала ли сервер там какие-либо сообщения, указывающие причину проблемы. Журнал ошибок расположен в каталоге данных MySQL (например, C:\Program Files\MySQL\MySQL
Server 9.2\data). Это файл с суффиксом .err.
Когда сервер MySQL установлен в качестве службы и служба работает, Windows автоматически останавливает службу при выключении Windows. Сервер также можно остановить вручную, используя утилиту Services, команду sc stop mysqld_service_name, команду NET STOP mysqld_service_name или команду mysqladmin shutdown.
У вас также есть возможность установить сервер в качестве ручной службы, если вы не хотите, чтобы служба запускалась автоматически во время процесса загрузки. Для этого используйте опцию --install-manual вместо опции --install:
C:\> "C:\Program Files\MySQL\MySQL Server 9.2\bin\mysqld" --install-manual
Удаление службы
Чтобы удалить сервер, установленный в качестве службы, сначала остановите его, если он работает, выполнив SC STOP mysqld_service_name или NET STOP mysqld_service_name. Затем используйте SC DELETE mysqld_service_name для его удаления:
C:\> SC DELETE mysql
Кроме того, используйте опцию mysqld --remove для удаления службы.
C:\> "C:\Program Files\MySQL\MySQL Server 9.2\bin\mysqld" --remove
Если mysqld не работает в качестве службы, вы можете запустить его из командной строки. Инструкции см. в разделе 2.3.3.6, «Запуск MySQL из командной строки Windows».
Если у вас возникнут трудности при установке, см. раздел 2.3.4, «Отладка установки сервера MySQL для Microsoft Windows».
Дополнительную информацию об остановке или удалении службы Windows см. в разделе 7.8.2.2, «Запуск нескольких экземпляров MySQL в качестве служб Windows».
© 2025 Oracle
Licensed under the GPLv2 License.