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в переменную среды WindowsPATH, если на одном компьютере работает несколько MySQL-серверов.
При ручном редактировании системной переменной PATH необходимо проявлять особую осторожность; случайное удаление или изменение любой части существующего значения PATH может привести к некорректной или даже непригодной для использования системе.
Следующие дополнительные аргументы могут быть использованы при установке службы:
Вы можете указать имя службы сразу после опции
--install. Имя службы по умолчанию -MySQL.-
Если имя службы указано, за ним может следовать одна опция. По соглашению это должна быть
--defaults-file=, чтобы указать имя файла параметров, из которого сервер должен читать параметры при запуске.file_nameИспользование какой-либо опции, отличной от
--defaults-file, возможно, но не рекомендуется.--defaults-fileболее гибкая, так как она позволяет указывать несколько параметров запуска сервера, помещая их в указанный файл параметров. Вы также можете указать опцию
--local-serviceпосле имени службы. Это заставит сервер работать с учетной записью WindowsLocalService, имеющей ограниченные системные привилегии. Если и--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.