Search the MySQL manual:
MySQL Manual

Buy this Reference Manual in softcover from Barnes & Noble!

/ / Up / Table of Contents

4.7.2 safe_mysqld, оболочка mysqld

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 section 4.1.2 Файлы параметров `my.cnf'.

Обратите внимание: все опции, которые вводятся в командной строке для safe_mysqld, передаются mysqld. Если требуется применить в safe_mysqld какие-либо опции, которые mysqld не поддерживает, эти опции нужно определить в файле опций.

Большинство опций safe_mysqld - те же, что и у mysqld. See section 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
--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 будет пытаться найти сервер и базы данных относительно собственной рабочей директории, можно инсталлировать двоичный дистрибутив MySQL куда угодно, при условии, что safe_mysqld будет запускаться из директории, в которой установлен MySQL:

shell> cd mysql_installation_directory
shell> bin/safe_mysqld &

Если safe_mysqld не может запустить сервер, даже в том случае, когда он вызывается из инсталляционной директории MySQL, сценарий safe_mysqld можно модифицировать так, чтобы он использовал верный путь к mysqld и опции путей, которые являются правильными для вашей системы. Обратите внимание: если в будущем вы будете делать апгрейд MySQL, новая версия safe_mysqld будет записана поверх старой, поэтому нужно сделать копию отредактированной версии, которую вы сможете затем установить повторно.

User Comments

Posted by Elaine Seery on Friday May 17 2002, @6:24am [Delete] [Edit]

Before you follow the instructions of the last
paragraph (if all else fails, edit the
safe_mysqld script...) try to start safe_mysqld
with at least the --ledir (path to mysqld) option
specified. Just using --
basedir won't work, as basedir is passed to
mysqld (not safe_mysqld), but if safe_mysqld
can't find mysqld in the first place...

Posted by Brice Giesbrecht on Monday November 25 2002, @10:15am [Delete] [Edit]

if passing --defaults-extra-file to mysqld_safe,
it needs to be the first parameter ($1),
otherwise, it will not start, and you will get an
unknown variable error in the error log.

Add your own comment.

Top / / / Up / Table of Contents