Spec-Zone.ru › MySQL 5.7

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-VERSION.rpm), или установку из пакетов native Linux, сценарий mysql.server может быть установлен в каталоге /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

Таблица 4.7 Параметры файла параметров mysql.server
Имя параметра Описание Тип
basedir Путь к каталогу установки MySQL Имя каталога
datadir Путь к каталогу данных MySQL Имя каталога
pid-file Файл, в котором сервер записывает свой идентификатор процесса Имя файла
service-startup-timeout Время ожидания запуска сервера Целое число

  • basedir=dir_name

    Путь к каталогу установки MySQL.

  • datadir=dir_name

    Путь к каталогу данных MySQL.

  • pid-file=file_name

    Имя файла, в котором сервер запишет свой идентификатор процесса. Сервер создаёт файл в каталоге данных, если не указан абсолютный путь к другому каталогу.

    Если этот параметр не задан, mysql.server использует значение по умолчанию host_name.pid. Значение файла PID, переданное mysqld_safe, перекрывает любое значение, указанное в группе опций [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.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/mysql-server.html

Spec-Zone.ru

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