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в свою систему переменных 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 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.