:: DEVELOPER ZONE
В MySQL 4.0 safe_mysqld
был переименован в mysqld_safe
.
safe_mysqld
- это сценарий, с помощью которого рекомендуется запускать
демон mysqld на Unix. safe_mysqld
служит для реализации неких
дополнительных функций безопасности для mysqld
, таких как возможность
перезапуска сервера при обнаружении ошибки и записи в журнал информации о
процессе работы mysqld
.
Если не указаны опции --mysqld=#
или --mysqld-version=#
, safe_mysqld
будет использовать исполняемый файл mysqld
-max, если последний существует.
Если mysqld-max
не существует, safe_mysqld
запустит mysqld
. Это позволяет
легко выяснить, что даст использование mysqld-max
вместо mysqld
: просто
скопируйте mysqld-max
поверх mysqld
, и он будет работать.
Как правило, редактировать сценарий safe_mysqld
не следует, однако можно
указать опции для safe_mysqld
, поместив их в раздел [safe_mysqld]
файла
my.cnf
. safe_mysqld
будет считывать все опции из разделов файлов опций
[mysqld]
, [server]
и [safe_mysqld]
. See Раздел 4.1.2, «Файлы параметров my.cnf
».
Обратите внимание: все опции, которые вводятся в командной строке для
safe_mysqld
, передаются mysqld
. Если требуется применить в safe_mysqld
какие-либо опции, которые mysqld
не поддерживает, эти опции нужно
определить в файле опций.
Большинство опций safe_mysqld
- те же, что и у mysqld
. See Раздел 4.1.1, «Параметры командной строки mysqld
».
Safe_mysqld
поддерживает следующие опции:
--basedir=path
, --core-file-size=#
Размер core
-файла который может быть создан mysqld
. Значение передается ulimit -c
--datadir=path
, --defaults-extra-file=path
, --defaults-file=path
, --err-log=path (устарело в 4.0; Используйте --log-error вместо)
, --log-error=path
Писать журнал ошибок в указанный файл. See Раздел 4.9.1, «Журнал ошибок».
--ledir=path
Путь к mysqld
--log=path
, --mysqld=mysqld-version
Имя версии mysqld
, которую вы хотите запустить в директории ledir
--mysqld-version=version
То же, что и --mysqld=
, но в этой опции задается только суффикс для
mysqld
. Например, если используется --mysqld-version=max
, safe_mysqld
запустит версию ledir/mysqld-max
. Если задать --mysqld-version
без
аргумента, будет использоваться ledir/mysqld
.
--no-defaults
, --open-files-limit=#
Максимальное количество файлов, которые могут быть открыты mysqld
.
Значение передается ulimit -n
. Обратите внимание: чтобы эта опция работала
корректно, необходимо запустить safe_mysqld
от пользователя root!
--pid-file=path
, --port=#
, --socket=path
, --timezone=#
Устанавливает переменную часового пояса (TZ
) в значение, передаваемое в
этом параметре.
--user=#
Сценарий safe_mysqld
написан таким образом, чтобы можно было запустить
сервер, инсталлированный как из исходного кода, так и из бинарной поставки
MySQL, даже если компоненты сервера, в зависимости от используемой
инсталляции, будут размещены несколько по-другому. Для safe_mysqld
требуется выполнение одного из следующих условий:
Сервер и базы данных можно обнаружить относительно каталога, в котором
вызывается safe_mysqld
. safe_mysqld
ищет в своей рабочей директории
bin
и data
(для бинарных дистрибутивов) или libexec
и var
(для
дистрибутивов с исходным кодом). Это условие должно выполняться, если
safe_mysqld
запускается из директории, в которую инсталлирован MySQL
(например /usr/local/mysql
для бинарного дистрибутива).
Если сервер и базы данных не могут быть найдены относительно рабочей
директории, safe_mysqld
пытается найти их по абсолютным путям.
Типичные местоположения - /usr/local/libexec
и /usr/local/var
.
Действительные местоположения определяются при создании дистрибутива,
из которого запускается safe_mysqld
. Они должны быть корректными, если
MySQL был инсталлирован в стандартное местоположение.
Поскольку safe_mysqld
будет пытаться найти сервер и базы данных
относительно собственной рабочей директории, можно инсталлировать двоичный
дистрибутив MySQL куда угодно, при условии, что safe_mysqld
будет
запускаться из директории, в которой установлен MySQL:
shell> cd mysql_installation_directory shell> bin/safe_mysqld &
Если safe_mysqld
не может запустить сервер, даже в том случае, когда он
вызывается из инсталляционной директории MySQL, сценарий safe_mysqld
можно
модифицировать так, чтобы он использовал верный путь к mysqld
и опции
путей, которые являются правильными для вашей системы. Обратите внимание:
если в будущем вы будете делать апгрейд MySQL, новая версия safe_mysqld
будет записана поверх старой, поэтому нужно сделать копию
отредактированной версии, которую вы сможете затем установить повторно.
© 1995-2005 MySQL AB. All rights reserved.