поиск:
Полезные ссылки

  • Форум по MySQL

  • Статьи по MySQL

  • Вопросы по MySQL

  • MySQL.com


  • Базы данных

  • MySQL

  • PostgreSQL


  • PHP конференция 2005
    Подробности!

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

    В 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 будет записана поверх старой, поэтому нужно сделать копию отредактированной версии, которую вы сможете затем установить повторно.

     
    © 1997-2005 PHP Club Team
    Rambler's Top100