Spec-Zone.ru › MySQL 8.4

2.3.3.8 Запуск MySQL как службы Windows

В Windows рекомендуемый способ запуска MySQL — установка его в качестве службы Windows, чтобы MySQL запускался и останавливался автоматически при запуске и остановке Windows. Сервер MySQL, установленный как служба, также может управляться с командной строки с помощью команд NET или графическим инструментом Службы. Обычно для установки MySQL в качестве службы Windows необходимо войти под учетной записью с правами администратора.

Инструмент Службы (менеджер управления службами Windows) можно найти в панели управления Windows. Чтобы избежать конфликтов, рекомендуется закрывать инструмент Службы во время операций установки или удаления сервера с командной строки.

Установка службы

Перед установкой MySQL как службы Windows необходимо сначала остановить текущий сервер, если он работает, используя следующую команду:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqladmin"
          -u root shutdown
Примечание

Если у учетной записи пользователя MySQL root есть пароль, необходимо вызвать mysqladmin с опцией -p и указать пароль при запросе.

Эта команда вызывает утилиту администрирования MySQL mysqladmin для подключения к серверу и остановки его работы. Команда подключается как пользователь MySQL root, который является учетной записью администратора по умолчанию в системе разрешений MySQL.

Примечание

Пользователи в системе разрешений MySQL полностью независимы от любых пользователей операционной системы в Windows.

Установите сервер как службу, используя эту команду:

C:\> "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqld" --install

Команда установки службы не запускает сервер. Инструкции по этому поводу будут даны позже в этом разделе.

Для упрощения вызова программ MySQL можно добавить имя каталога MySQL bin в переменную среды Windows PATH:

  • В окне рабочего стола щелкните правой кнопкой мыши значок Мой компьютер и выберите Свойства.

  • Затем выберите вкладку Дополнительные в меню Свойства системы, которое появится, и нажмите кнопку Переменные среды.

  • В разделе Системные переменные выберите Путь, а затем нажмите кнопку Изменить. Должно появиться диалоговое окно Изменение системной переменной.

  • Поместите курсор в конец текста, отображаемого в поле Значение переменной. (Используйте клавишу End, чтобы убедиться, что курсор расположен в конце текста в этом поле.) Затем введите полное имя пути к каталогу MySQL bin (например, C:\Program Files\MySQL\MySQL Server 8.4\bin), и в этом поле должен быть знак точки с запятой, отделяющий этот путь от любых значений, присутствующих в этом поле. Закройте это диалоговое окно, а затем и каждое открытое диалоговое окно, нажав кнопку ОК, пока все открытые диалоговые окна не будут закрыты. Теперь вы сможете вызвать любую программу 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 8.4\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 8.4\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 8.4\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 8.4\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-8.4-en/windows-start-service.html

Spec-Zone.ru

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