6.3.3 mysql.server — Сценарий запуска MySQL Server
Дистрибутивы MySQL на системах Unix и Unix-подобных содержат сценарий с именем mysql.server, который запускает сервер MySQL с помощью mysqld_safe. Он может использоваться на системах, таких как Linux и Solaris, которые используют каталоги запуска типа System V для запуска и остановки системных служб. Он также используется элементом запуска macOS для MySQL.
mysql.server — это имя сценария, используемое в дереве исходных кодов MySQL. Установленное имя может отличаться (например, mysqld или mysql). В последующем обсуждении скорректируйте имя mysql.server в соответствии с вашей системой.
Для некоторых платформ Linux установка MySQL из пакетов RPM или Debian включает поддержку systemd для управления запуском и остановкой сервера MySQL. На этих платформах mysql.server и mysqld_safe не устанавливаются, так как они не нужны. Дополнительную информацию см. в разделе 2.5.9 «Управление сервером MySQL с помощью systemd».
Чтобы вручную запустить или остановить сервер с помощью сценария mysql.server, вызовите его из командной строки с аргументами start или stop:
mysql.server start
mysql.server stop
mysql.server меняет расположение на каталог установки MySQL, затем вызывает mysqld_safe. Чтобы запустить сервер от имени определенного пользователя, добавьте соответствующий параметр user в группу [mysqld] файла глобальных параметров /etc/my.cnf, как показано позже в этом разделе. (Возможно, вам необходимо отредактировать mysql.server, если вы установили двоичный дистрибутив MySQL в нестандартном расположении. Измените его, чтобы изменить расположение в соответствующий каталог перед запуском mysqld_safe. Если вы это сделаете, ваша изменённая версия mysql.server может быть перезаписана при обновлении MySQL в будущем; сделайте копию вашей отредактированной версии, которую вы сможете переустановить.)
mysql.server stop останавливает сервер, отправляя ему сигнал. Вы также можете остановить сервер вручную, выполнив mysqladmin shutdown.
Чтобы автоматически запускать и останавливать MySQL на вашем сервере, необходимо добавить команды запуска и остановки в соответствующие места в файлах /etc/rc*:
Если вы используете пакет Linux сервера RPM (
MySQL-server-) или установку пакетов Linux, сценарий mysql.server может быть установлен в каталогVERSION.rpm/etc/init.dс именемmysqldилиmysql. Дополнительную информацию о пакетах Linux RPM см. в разделе 2.5.4 «Установка MySQL на Linux с помощью пакетов RPM от Oracle».-
Если вы устанавливаете MySQL из исходного дистрибутива или с помощью формата двоичного дистрибутива, который не устанавливает mysql.server автоматически, вы можете установить сценарий вручную. Он находится в каталоге
support-filesв каталоге установки MySQL или в дереве исходных кодов MySQL. Скопируйте сценарий в каталог/etc/init.dс именем mysql и сделайте его исполняемым:cp mysql.server /etc/init.d/mysql chmod +x /etc/init.d/mysql
После установки сценария, команды, необходимые для его активации для запуска при запуске системы, зависят от вашей операционной системы. В Linux вы можете использовать chkconfig:
chkconfig --add mysql
На некоторых системах Linux, возможно, также необходима следующая команда для полного включения сценария mysql:
chkconfig --level 345 mysql on
В FreeBSD скрипты запуска, как правило, должны находиться в
/usr/local/etc/rc.d/. Установите сценарийmysql.serverкак/usr/local/etc/rc.d/mysql.server.sh, чтобы включить автоматический запуск. В руководствеrc(8)указано, что скрипты в этом каталоге выполняются только в том случае, если их базовое имя соответствует шаблону имени файла*.shоболочки. Любые другие файлы или каталоги, присутствующие в каталоге, игнорируются.-
В качестве альтернативы вышеуказанной настройке некоторые операционные системы также используют
/etc/rc.localили/etc/init.d/boot.localдля запуска дополнительных служб при запуске. Для запуска MySQL с помощью этого метода добавьте команду, аналогичную следующей, в соответствующий файл запуска:/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'
Для других систем обратитесь к документации вашей операционной системы, чтобы узнать, как установить скрипты запуска.
mysql.server считывает параметры из разделов [mysql.server] и [mysqld] файлов параметров. Для обратной совместимости он также считывает разделы [mysql_server], но для актуальности следует переименовать такие разделы в [mysql.server].
Вы можете добавить параметры для mysql.server в глобальный файл /etc/my.cnf. Типичный файл my.cnf может выглядеть так:
[mysqld]
datadir=/usr/local/mysql/var
socket=/var/tmp/mysql.sock
port=3306
user=mysql
[mysql.server]
basedir=/usr/local/mysql
Сценарий mysql.server поддерживает параметры, представленные в следующей таблице. Если они указаны, они должны быть размещены в файле параметров, а не в командной строке. mysql.server поддерживает только start и stop в качестве аргументов командной строки.
Таблица 6.8 Параметры файла параметров mysql.server
| Имя параметра | Описание | Тип |
|---|---|---|
basedir | Путь к каталогу установки MySQL | Имя каталога |
datadir | Путь к каталогу данных MySQL | Имя каталога |
pid-file | Файл, в котором сервер должен записать свой идентификатор процесса | Имя файла |
service-startup-timeout | Время ожидания запуска сервера | Целое число |
END_OF_DOCUMENT_MARKER
-
Путь к каталогу установки MySQL.
-
Путь к каталогу данных MySQL.
-
Имя файла, в который сервер записывает свой идентификатор процесса. Сервер создаёт файл в каталоге данных, если не указан абсолютный путь к другому каталогу.
Если этот параметр не задан, mysql.server использует значение по умолчанию
. Значение файла PID, переданное в mysqld_safe, переопределяет любое значение, указанное в группе параметровhost_name.pid[mysqld_safe]. Поскольку mysql.server читает группу параметров[mysqld], но не группу[mysqld_safe], можно гарантировать, что mysqld_safe получит то же самое значение при вызове из mysql.server, что и при ручном вызове, поместив то же самое значениеpid-fileв обе группы:[mysqld_safe]и[mysqld]. -
service-startup-timeout=secondsСколько секунд ждать подтверждения запуска сервера. Если сервер не запустится в течение этого времени, mysql.server завершится с ошибкой. Значение по умолчанию равно 900. Значение 0 означает, что не нужно ждать запуска вообще. Отрицательные значения означают ожидание бесконечно (без таймаута).
© 2025 Oracle
Licensed under the GPLv2 License.