Buy this Reference Manual in softcover from Barnes & Noble!
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
. 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
будет записана поверх старой, поэтому нужно сделать копию отредактированной версии, которую вы сможете затем установить повторно.
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.