Spec-Zone.ru › MySQL 5.7

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

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

Инструмент Услуги (менеджер служб Windows Service Control Manager) можно найти в панели управления Windows. Для предотвращения конфликтов рекомендуется закрывать инструмент Услуги во время операций установки или удаления сервера из командной строки.

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

  • Поместите курсор в конец текста, отображаемого в поле Значение переменной. (Используйте клавишу End, чтобы убедиться, что курсор находится в самом конце текста в этом поле.) Затем введите полный путь к каталогу MySQL bin (например, C:\Program Files\MySQL\MySQL Server 5.7\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 после имени службы. Это заставит сервер работать с учетной записью Windows LocalService, имеющей ограниченные системные привилегии. Если и --defaults-file, и --local-service указаны после имени службы, их порядок может быть любым.

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

  • Если команда установки службы не указывает имя службы или имя службы по умолчанию (MySQL) после опции --install, сервер использует имя службы MySQL и считывает параметры из группы [mysqld] в стандартных файлах параметров.

  • Если команда установки службы указывает имя службы, отличное от MySQL, после опции --install, сервер использует это имя службы. Он считывает параметры из группы [mysqld] и группы с тем же именем, что и служба, в стандартных файлах параметров. Это позволяет использовать группу [mysqld] для параметров, которые должны использоваться всеми MySQL-службами, и группу параметров с именем службы для использования сервером, установленным с этим именем службы.

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

Рассмотрим следующий пример команды:

C:\> "C:\Program Files\MySQL\MySQL Server 5.7\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 операционная система запускает службу автоматически при каждом запуске. Службу также можно запустить сразу через инструмент Услуги, или с помощью команды sc start mysqld_service_name или NET START mysqld_service_name. Команды SC и NET не чувствительны к регистру.

При запуске в качестве службы, mysqld не имеет доступа к окну консоли, поэтому сообщения там не отображаются. Если mysqld не запускается, проверьте журнал ошибок, чтобы увидеть, записало ли сервер какие-либо сообщения, указывающие на причину проблемы. Журнал ошибок находится в каталоге данных MySQL (например, C:\Program Files\MySQL\MySQL Server 5.7\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 5.7\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 5.7\bin\mysqld" --remove

Если mysqld не работает как служба, вы можете запустить его из командной строки. Инструкции см. в разделе 2.3.4.6, «Запуск MySQL из командной строки Windows».

Если у вас возникнут проблемы во время установки, см. раздел 2.3.5, «Устранение неполадок при установке сервера MySQL для Microsoft Windows».

Дополнительную информацию об остановке или удалении службы Windows см. в разделе 5.7.2.2, «Запуск нескольких экземпляров MySQL в качестве служб Windows».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/windows-start-service.html

Spec-Zone.ru

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