Spec-Zone .ru
спецификации, руководства, описания, API

4.3.2. mysqld_safe — MySQL Server Startup Script

mysqld_safe является рекомендуемым способом запустить mysqld сервер на Unix. mysqld_safe добавляет некоторые функции безопасности, такие как перезапуск сервера, когда ошибка происходит и информация о времени выполнения журналирования с файлом журнала ошибок. Описание регистрации ошибок дается позже в этом разделе.

mysqld_safe пытается запустить исполнимую программу, названную mysqld. Чтобы переопределить поведение значения по умолчанию и определить явно имя сервера, Вы хотите выполнить, определить a --mysqld или --mysqld-version опция к mysqld_safe. Можно также использовать --ledir указать на каталог, где mysqld_safe должен искать сервер.

Многие из опций к mysqld_safe являются тем же самым как опциями к mysqld. См. Раздел 5.1.3, "Опции Команды Сервера".

Опции, неизвестные mysqld_safe, передают к mysqld, если они определяются на командной строке, но игнорируются, если они определяются в [mysqld_safe] группа файла опции. См. Раздел 4.2.3.3, "Используя Файлы Опции".

mysqld_safe читает все опции из [mysqld], [server], и [mysqld_safe] разделы в файлах опции. Например, если Вы определяете a [mysqld] раздел как это, mysqld_safe будет находить и использовать --log-error опция:

[mysqld]log-error=error.log

Для обратной совместимости, mysqld_safe также читает [safe_mysqld] разделы, хотя следует переименовать такие разделы к [mysqld_safe] в установках MySQL 5.7.

mysqld_safe поддерживает следующие опции. Это также читает файлы опции и поддерживает опции для того, чтобы обработать их описанный в Разделе 4.2.3.4, "Параметры командной строки, которые Влияют на Обработку Файла опции".

Таблица 4.1. mysqld_safe Опции

Формат Файл опции Описание
- basedir=path basedir Путь к каталогу установки MySQL
- core-file-size=size базовый размер файла Размер базового файла, который mysqld должен быть в состоянии создать
- datadir=path datadir Путь к каталогу данных
- defaults-extra-file=path дополнительный файл значений по умолчанию Имя файла опции, который будет считан в дополнение к обычным файлам опции
- defaults-file=file_name файл значений по умолчанию Имя файла опции, который будет считан вместо обычных файлов опции
- справка Выведите на экран сообщение справки и выход
- ledir=path ledir Используйте эту опцию, чтобы указать на путь к каталогу, где сервер располагается
- log-error=file_name ошибка журнала Запишите журнал ошибок в данный файл
- malloc-lib = [имя lib] malloc-lib Альтернатива malloc библиотека, чтобы использовать для mysqld
- mysqld=prog_name mysqld Имя программы сервера (в ledir каталоге), что Вы хотите запустить
- mysqld-version=suffix mysqld-версия Эта опция подобна - mysqld опция, но Вы определяете только суффикс для названия программы сервера
- nice=priority хороший Используйте хорошую программу, чтобы установить приоритет планирования сервера в данное значение
- без значений по умолчанию без значений по умолчанию Не читайте файлы опции
- open-files-limit=count открытый предел файлов Число файлов, которые mysqld должен быть в состоянии открыть
- pid-file=file_name pid-file=file_name Путь файла ID процесса
- plugin-dir=path plugin-dir=path Каталог, где плагины располагаются
- port=number порт Номер порта, который сервер должен использовать, прислушиваясь к соединениям TCP/IP
- skip-kill-mysqld skip-kill-mysqld Не пытайтесь уничтожить беспризорные процессы mysqld
- пропустить-syslog пропустить-syslog Не делайте сообщений ошибки при записи к syslog; используйте файл журнала ошибок
- socket=path сокет Файл сокета Unix, который сервер должен использовать, прислушиваясь к локальным соединениям
- syslog syslog Ошибка при записи обменивается сообщениями к syslog
- syslog-tag=tag syslog-тег Суффикс тега для сообщений, записанных syslog
- timezone=timezone часовой пояс Установите переменную окружения часового пояса TZ в данное значение опции
- пользователь = {user_name|user_id} пользователь Выполните mysqld сервер как пользователя, имеющего имя user_name или числовой идентификатор пользователя user_id

Если Вы выполняете mysqld_safe с --defaults-file или --defaults-extra-file опция, чтобы назвать файл опции, опция должна быть первой, данной на командной строке, или файл опции не будет использоваться. Например, эта команда не будет использовать именованный файл опции:

mysql> mysqld_safe --port=port_num --defaults-file=file_name

Вместо этого используйте следующую команду:

mysql> mysqld_safe --defaults-file=file_name --port=port_num

mysqld_safe сценарий пишется так, чтобы он обычно мог запустить сервер, который был установлен или из источника или из двоичного распределения MySQL, даже при том, что эти типы дистрибутивов обычно устанавливают сервер в немного отличающихся расположениях. (См. Раздел 2.1.5, "Разметки Установки".) mysqld_safe ожидает одно из следующих условий быть истиной:

Поскольку mysqld_safe пытается найти сервер и базы данных относительно его собственного рабочего каталога, можно установить двоичное распределение MySQL где угодно, пока Вы выполняете mysqld_safe из каталога установки MySQL:

shell> cd mysql_installation_directoryshell> bin/mysqld_safe &

Если mysqld_safe перестал работать, даже когда вызвано из каталога установки MySQL, можно определить --ledir и --datadir опции, чтобы указать на каталоги, в которых сервер и базы данных располагаются на Вашей системе.

В MySQL 5.7 mysqld_safe пытается использовать сон и утилиты системы дат, чтобы определить, сколько времен это попыталось запуститься в эту секунду, и — если они присутствуют, и это больше, чем 5 раз — вынуждаются ожидать 1 целая секунда прежде, чем запуститься снова. Это предназначается, чтобы предотвратить чрезмерное использование ЦП в случае повторных отказов. (Ошибка #11761530, Ошибка #54035)

Когда Вы используете mysqld_safe, чтобы запустить mysqld, mysqld_safe устраивает ошибку (и заметьте), сообщения от себя и от mysqld, чтобы пойти к тому же самому месту назначения.

Есть несколько mysqld_safe опций для того, чтобы управлять местом назначения этих сообщений:

Если ни одна из этих опций не дается, значение по умолчанию --skip-syslog.

Если --syslog и --log-error и даются, предупреждение выпускается и --log-error имеет приоритет.

Когда mysqld_safe пишет сообщение, уведомления идут к месту назначения журналирования (syslog или файл журнала ошибок) и stdout. Ошибки идут к месту назначения журналирования и stderr.

Обычно, недопустимо отредактировать mysqld_safe сценарий. Вместо этого сконфигурируйте mysqld_safe при использовании параметров командной строки или опций в [mysqld_safe] раздел a my.cnf файл опции. В редких случаях могло бы быть необходимо отредактировать mysqld_safe, чтобы заставить это запускать сервер должным образом. Однако, если Вы делаете это, Ваша измененная версия mysqld_safe могла бы быть перезаписана, если Вы обновляете MySQL в будущем, таким образом, следует сделать копию своей сокращенной версии, что можно переустановить.