Глава 4.1.1 Параметры командной строки mysqld
В большинстве случаев управление параметрами mysqld осуществляется при
помощи файлов параметров (see section 4.1.2 Файлы параметров `my.cnf').
mysqld и mysqld.server считывают параметры из групп mysqld и server.
mysqld_safe считывает параметры из групп mysqld, server, mysqld_safe и
safe_mysqld. Встроенный сервер MySQL обычно считывает параметры из server,
embedded и xxxxx_SERVER, где xxxxx - имя приложения.
mysqld принимает следующие параметры командной строки:
- --ansi
-
Использовать синтаксис ANSI SQL вместо синтаксиса MySQL (see section 1.9.2 Запуск MySQL в режиме ANSI).
- -b, --basedir=path
-
Путь к каталогу установки. Все остальные пути обычно определяются
относительно этого пути.
- --big-tables
-
Позволяет использовать наборы результатов большого объема за счет
сохранения всех временных файлов в одном. Данный параметр позволяет
устранить большинство ошибок 'table full' (таблица переполнена), но
замедляет обработку запросов, для которых было бы достаточно таблиц,
расположенных в памяти. Начиная с версии 3.23.2 в MySQL эта проблема
решается автоматически: память используется для небольших временных
таблиц, а при необходимости происходит переключение на таблицы,
расположенные на диске.
- --bind-address=IP
-
IP-адрес, с которым необходимо установить связь.
- --character-sets-dir=path
-
Каталог, в котором расположены наборы символов (see section 4.6.1 Набор символов, применяющийся для записи данных и сортировки).
- --chroot=path
-
Изменяет корневой каталог сетевой программы mysqld во время запуска.
Рекомендуемая мера безопасности, хотя она некоторым образом ограничивает
использование функций LOAD DATA INFILE и SELECT ... INTO OUTFILE.
- --core-file
-
Записывает файл ядра, если происходит аварийное прекращение работы mysqld.
В некоторых системах также необходимо указать --core-file-size для
safe_mysqld (see section 4.7.2 safe_mysqld, оболочка mysqld). Обратите
внимание на то, что в некоторых системах, таких как Solaris, не удастся
записать файл ядра, если используется параметр --user.
- -h, --datadir=path
-
Путь к корневому каталогу базы данных.
- --debug[...]=
-
Если MySQL настроен при помощи --with-debug, то этот параметр позволяет
получить файл трассировки, в котором отражена работа mysqld (see section E.1.2 Создание трассировочных файлов).
- --default-character-set=charset
-
Задает набор символов, принятый по умолчанию (see section 4.6.1 Набор символов, применяющийся для записи данных и сортировки).
- --default-table-type=type
-
Задает тип таблиц, принятый по умолчанию (see section 7 Типы таблиц MySQL).
- --delay-key-write-for-all-tables
-
Отмена сброса на диск ключевых буферов для всех таблиц MyISAM между
записями (see section 5.5.2 Настройка параметров сервера).
- --des-key-file=filename
-
Задает считывание из файла filename принятых по умолчанию ключей, которые
используются для DES_ENCRYPT() и DES_DECRYPT().
- --enable-locking
-
Включает блокировку доступа к системе. Обратите внимание на то, что если
этот параметр используется в системе, где функция lockd полностью не
работает (например, в Linux), это может привести к зависанию mysqld.
- --enable-named-pipe
-
Включает поддержку для именованных каналов (только в NT/Win2000/XP).
- -T, --exit-info
-
Побитовое маскирование различных флагов, которое применяется для отладки
сервера mysqld; не следует использовать этот параметр, если вы хорошо не
разбираетесь в том, что именно он делает!
- --flush
-
Задает сброс на диск всех изменений после каждой команды SQL. Обычно MySQL
только направляет все изменения на диск после каждой команды SQL,
делегируя управление синхронизацией записи на диск операционной системе
(see section A.4.1 Что делать, если работа MySQL сопровождается постоянными сбоями).
- -?, --help
-
Вывод сокращенной справки и завершение выполнения.
- --init-file=file
-
Задает считывание команды SQL из файла file при запуске.
- -L, --language=...
-
Вывод сообщений об ошибках клиента на указанном языке. Может быть задан в
виде полного пути (see section 4.6.2 Сообщения об ошибках на языках, отличных от английского).
- -l, --log[=file]
-
Задает занесение в файл журнала соединений и запросов (see section 4.9.2 Общий журнал запросов).
- --log-isam[=file]
-
Заносит в файл журнала все изменения ISAM/MyISAM (используется только при
отладке ISAM/MyISAM).
- --log-slow-queries[=file]
-
Заносит в файл журнала все запросы, выполнение которых заняло больше, чем
long_query_time секунд (see section 4.9.5 Журнал медленных запросов).
- --log-update[=file]
-
Заносит в файл журнала обновления file.# где # представляет собой уникальный
номер, если он не был задан (see section 4.9.3 Журнал обновлений (update)).
- --log-long-format
-
Заносит в файл журнала обновлений некоторую дополнительную информацию.
Если задано --log-slow-queries, то запросы, не использующие индексов,
будут заноситься в журнал медленных запросов.
- --low-priority-updates
-
Операциям по изменению таблиц (INSERT/DELETE/UPDATE) будет назначен более
низкий приоритет, чем операциям выбора. Это также можно реализовать при
помощи {INSERT | REPLACE | UPDATE | DELETE} LOW_PRIORITY ..., чтобы
понизить приоритет только одного запроса, или через SET OPTION
SQL_LOW_PRIORITY_UPDATES=1, чтобы изменить приоритет в одном потоке (see section 5.3.2 Вопросы блокирования таблиц).
- --memlock
-
Фиксирует процесс mysqld в памяти. Этот параметр работает только в том
случае, если ваша система поддерживает системный вызов mlockall(),
например Solaris. Такая мера может быть полезной, если операционная
система записывает mysqld в файл подкачки на диск.
- --myisam-recover [=параметр[,параметр...]]]
-
Параметр - это любое сочетание DEFAULT, BACKUP, FORCE или QUICK. Если
необходимо отключить данную функцию, укажите вместо набора параметров явно
"". Если эта функция используется, mysqld проверит таблицу на предмет
того, была ли она отмечена как сбойная или не была закрыта надлежащим
образом (последний вариант действует только в том случае, если был включен
параметр --skip-locking). В любом из этих случаев mysqld произведет полную
проверку таблицы. Если таблица была повреждена, mysqld попытается ее
восстановить. Приведенные ниже параметры влияют на работу процесса
восстановления.
Параметр | Описание
|
DEFAULT | Аналогично отсутствию каких-либо параметров для функции
--myisam-recover.
|
BACKUP | Если во время восстановления таблица данных была изменена,
сохраняется резервная копия файла данных `table_name.MYD' под
именем `table_name-datetime.BAK'.
|
FORCE | Запуск восстановления, даже если будет утрачено более одной
строки из файла `.MYD'.
|
QUICK | Не проверять строки в таблице, в которых отсутствуют удаленные блоки.
|
Перед автоматическим восстановлением таблицы MySQL добавит запись об этом
в журнал ошибок. Если необходимо, чтобы восстановление после большинства
ошибок осуществлялось без вмешательства пользователя, следует установить
параметры BACKUP и FORCE. Тогда восстановление будет производиться даже в
случае, если некоторые строки будут удалены, но файл данных будет
сохраняться в виде резервной копии, поэтому впоследствии всегда можно
будет определить, что произошло.
- --pid-file=path
-
Путь к pid-файлу используется функцией safe_mysqld.
- -P, --port=...
-
Номер порта для прослушивания соединений TCP/IP.
- -o, --old-protocol
-
Использовать протокол 3.20 для совместимости с некоторыми очень старыми
клиентами (see section 2.5.5 Модернизация с версии 3.20 до версии 3.21).
- --one-thread
-
Использовать только один поток (для отладки в системе Linux) (see section E.1 Отладка сервера MySQL).
- -O, --set-variable var=option
-
Задает значение для переменной. --help - выводит список переменных.
Подробное описание всех переменных можно найти в разделе SHOW VARIABLES
этого руководства (see section 4.5.6.4 SHOW VARIABLES). Раздел по настройке
параметров сервера включает информацию по их оптимизации (see section 5.5.2 Настройка параметров сервера).
- --safe-mode
-
Пропуск некоторых этапов оптимизации. Подразумевает
--skip-delay-key-write.
- --safe-show-database
-
При использовании этого параметра команда SHOW DATABASES выдает только те
базы данных, для которых у пользователя есть какие-либо привилегии.
Начиная с версии 4.0.2 этот параметр является недействительным и больше ни
на что не влияет (его значение установлено по умолчанию), так как в новой
версии появилась привилегия SHOW DATABASES (see section 4.3.1 Синтаксис команд GRANT и REVOKE).
- --safe-user-create
-
Когда этот параметр включен, пользователь не может создавать новых
пользователей при помощи команды GRANT, если он не имеет привилегии INSERT
для таблицы mysql.user или для любого столбца этой таблицы.
- --skip-concurrent-insert
-
Отключает возможность одновременного выбора и вставки данных для таблиц
MyISAM (используется только в том случае, если в этой функции найдена
ошибка).
- --skip-delay-key-write
-
Игнорирует параметр delay_key_write для всех таблиц (see section 5.5.2 Настройка параметров сервера).
- --skip-grant-tables
-
Включение данного параметра приводит к тому, что сервер совсем не
использует систему привилегий - таким образом полный доступ ко всем базам
данных получают все! (Можно дать серверу команду снова использовать
таблицы доступа, запустив mysqladmin flush-privileges или mysqladmin
reload.)
- --skip-host-cache
-
Никогда не использовать кэш имени главного компьютера для быстрого
разрешения соответствий имен и IP-адресов, а вместо этого всегда
запрашивать DNS-сервер по каждому соединению (see section 5.5.5 Как MySQL использует DNS).
- --skip-locking
-
Не использовать средства системных блокировок. Чтобы воспользоваться функциями isamchk
или myisamchk, необходимо выключить сервер (see section 1.4.3 Насколько стабильным является MySQL?). Обратите внимание на то, что в MySQL версии 3.23 для
восстановления или проверки таблиц MyISAM можно использовать REPAIR и
CHECK.
- --skip-name-resolve
-
Не производится разрешения имен хостов. Все значения в столбце Host в
таблицах привилегий должны быть IP-адресами или значениями localhost (see section 5.5.5 Как MySQL использует DNS).
- --skip-networking
-
Прослушивание соединений TCP/IP не производится. Связь с mysqld должна
осуществляться через сокеты Unix. Этот параметр рекомендуется для систем,
в которых разрешены только локальные запросы (see section 5.5.5 Как MySQL использует DNS).
- --skip-new
-
Не использовать новые (возможно, неправильные) операции. Подразумевает
--skip-delay-key-write. Также задается принятый по умолчанию тип таблицы
для ISAM (see section 7.3 Таблицы ISAM).
- --skip-symlink
-
Не удалять и не переименовывать файлы, на которые указывает файл symlinked
в каталоге данных.
- --skip-safemalloc
-
Если MySQL настроен при помощи --with-debug=full, все программы будут
проверять память на наличие выхода за границы области памяти при каждом
заполнении и освобождении памяти. Поскольку такая проверка осуществляется
довольно медленно, от нее можно отказаться, воспользовавшись этим
параметром.
- --skip-show-database
-
Не позволяет использовать команду SHOW DATABASES, если пользователь не
имеет привилегии SHOW DATABASES. Начиная с версии 4.0.2 этот параметр
больше не нужен, поскольку доступ теперь может быть разрешен при помощи
привилегии SHOW DATABASES.
- --skip-stack-trace
-
Не записывать трассировку стеков. Этот параметр может оказаться полезным,
когда mysqld запущен под отладчиком. В некоторых системах данный параметр
также необходимо использовать для получения файла ядра (see section E.1 Отладка сервера MySQL).
- --skip-thread-priority
-
Отключает использование приоритетов потока, чтобы уменьшить время ожидания
ответа.
- --socket=path
-
Файл канала, который используется для локального соединения вместо файла,
принятого по умолчанию, /tmp/mysql.sock.
- --sql-mode=параметр[,параметр[,параметр...]]
-
Параметр может представлять собой любое сочетание из: REAL_AS_FLOAT,
PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, SERIALIZE, ONLY_FULL_GROUP_BY.
Если нужно произвести сброс значения, параметр может быть пустым ("").
Указание всех приведенных выше параметров аналогично использованию --ansi.
При помощи этого параметра можно включать только необходимые режимы SQL
(see section 1.9.2 Запуск MySQL в режиме ANSI).
- --temp-pool
-
При указании данного параметра для создаваемых временных файлов будет
использоваться ограниченный набор имен вместо создания уникального имени
для каждого нового файла. Данная функция предназначена для устранения
проблемы ядра Linux, возникающей при создании большого количества новых
файлов с разными именами. По старой схеме в Linux как бы происходит
'утечка' памяти, так как она распределяется для кэша каталогов вместо
дискового кэша.
- --transaction-isolation= { READ-UNCOMMITTED | READ-COMMITTED |
-
REPEATABLE-READ | SERIALIZABLE }
Задает принятый по умолчанию уровень изоляции транзакции (see section 6.7.3 Синтаксис команды SET TRANSACTION).
- -t, --tmpdir=path
-
Путь для временных файлов. Может быть полезен, если принятый по умолчанию
каталог /tmp расположен на слишком маленьком диске и не может вместить все
временные таблицы.
- -u, --user= [user_name | userid]
-
Запуск демона mysqld от имени пользователя user_name или userid (число).
Этот параметр является обязательным при запуске mysqld в качестве главной
программы.
- -V, --version
-
Вывод информации по версии программы и завершение выполнения.
- -W, --warnings
-
Задает запись таких предупреждений, как Aborted connection... в
файл `.err' (see section A.2.9 Коммуникационные ошибки / Оборванные соединения.