4.3.3 mysql.server — Сценарий запуска MySQL Server
Дистрибутивы MySQL на системах Unix и Unix-подобных содержат сценарий с именем mysql.server, который запускает сервер MySQL с помощью mysqld_safe. Он может использоваться на системах, таких как Linux и Solaris, использующих каталоги запуска в стиле System V для запуска и остановки системных служб. Он также используется macOS Startup Item для MySQL.
mysql.server — это имя сценария, используемое внутри дерева исходных кодов MySQL. Установленное имя может быть другим (например, mysqld или mysql). В следующих обсуждениях измените имя mysql.server в соответствии с вашей системой.
Для некоторых платформ Linux, установка MySQL из пакетов RPM или Debian включает поддержку systemd для управления запуском и остановкой сервера MySQL. На этих платформах mysql.server и mysqld_safe не устанавливаются, так как они не нужны. Более подробную информацию можно найти в разделе 2.5.10 «Управление сервером MySQL с помощью systemd».
Для ручного запуска или остановки сервера с помощью сценария mysql.server, вызовите его из командной строки со следующими аргументами:
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-), или установку из пакетов native Linux, сценарий mysql.server может быть установлен в каталогеVERSION.rpm/etc/init.dс именемmysqldилиmysql. Подробнее об установке пакетов Linux RPM см. раздел 2.5.5 «Установка 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 в качестве аргументов командной строки.
Таблица 4.7 Параметры файла параметров mysql.server
| Имя параметра | Описание | Тип |
|---|---|---|
basedir | Путь к каталогу установки MySQL | Имя каталога |
datadir | Путь к каталогу данных MySQL | Имя каталога |
pid-file | Файл, в котором сервер записывает свой идентификатор процесса | Имя файла |
service-startup-timeout | Время ожидания запуска сервера | Целое число |
-
Путь к каталогу установки 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.