Spec-Zone.ru › MySQL 9.2

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), и между этим путем и любыми существующими значениями в этом поле должен стоять символ точки с запятой. Закройте это диалоговое окно, а затем все остальные открытые диалоговые окна, нажав OK. Теперь вы сможете вызвать любую исполняемую программу MySQL, набрав ее имя в командной строке DOS из любого каталога системы, без необходимости указывать путь. Это включает серверы, клиента mysql, а также все утилиты командной строки MySQL, такие как mysqladmin и mysqldump.

    Не добавляйте каталог MySQL bin в переменную среды Windows PATH, если на вашем компьютере запущены несколько MySQL-серверов.

Предупреждение

При ручном редактировании системной переменной PATH необходимо соблюдать особую осторожность; случайное удаление или изменение любой части существующего значения PATH может привести к некорректной или даже неработоспособной системе.

При установке службы можно использовать следующие дополнительные аргументы:

  • Можно указать имя службы сразу после опции --install. Имя службы по умолчанию — MySQL.

  • Если задано имя службы, за ним может следовать одна опция. По соглашению, это должна быть опция --defaults-file=file_name для указания имени файла параметров, из которого сервер должен читать параметры при запуске.

    Использование единственной опции, отличной от --defaults-file, возможно, но не рекомендуется. --defaults-file более гибкая, поскольку позволяет задавать несколько параметров запуска сервера, помещая их в указанный файл параметров.

  • Также можно указать опцию --local-service после имени службы. Это заставит сервер работать под учетной записью LocalService Windows с ограниченными системными привилегиями. Если после имени службы указаны опции --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.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/windows-start-service.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API