Программа mysqld является ядром СУБД MySQL. Она запускается как демон в системе и принимает подключения из клиентских программ, выполняя запросы и возвращая результаты. Она многопоточная, то есть обработает больше чем один запрос одновременно.
Может наблюдаться спад производительности при использовании опции --log-isam, поскольку при этом очень многое пишется в файл протокола. Непериодические изменения, обновления и удаления могут уменьшить производительность на 5-10%. Производительность может сильно понизиться на обновлениях, требующих большого числа одновременных изменений.
Опция --log-isam может использоваться, для копирования базы данных. Обратите внимание, что ISAM журналы могут стать ОЧЕНЬ большими.
Каждая операция UPDATE, DELETE и INSERT имеет заголовок в 13 байтов дополнительно к команде.
Каждая открытая таблица требует девять байтов плюс длина имени файла таблицы. Это необходимо только для таблиц, которые еще не в кэше таблиц.
Кроме того будут иметься одиннадцать байтов дополнительно для любых команд, которые кэшируют/блокируют таблицы. Эти события обычно вызваны внутренними командами mysql. Наиболее часто, когда используется SELECT.
В большинстве случаев нужно выполнять mysqld из скрипта safe_mysqld .
Программа mysqld поддерживает следующие опции командной строки:
-\?, --help
Справка
-#, --debug=[options]
Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. Подробности в главе о библиотеке отладки.
-b, --basedir=[path]
Полное имя каталога в который установлен пакет.
-h, --datadir [homedir]
Полное имя каталога в котором хранятся базы данных.
-l, --log=[filename]
Имя файла протокола запросов к базам данных и подключений.
--log-isam=[filename]
Имя файла протокола изменений isam.
-O, --set-variable var=option
Установить переменную. См. ниже.
-L, --language=[language]
Значение по умолчанию 'english/'. Может быть так же 'swedish/', 'germany/','french/' или 'czech/'. Текущий список можно посмотреть в подкаталог share/mysql каталога, в который установлен MySQL.
-P, --port=[port]
Порт для соединения.
-T, --debug-info
Вывести отладочную информацию.
--skip-new-routines
Не использовать новые (возможно, глючные) возможности этой версии.
--skip-grant-tables
Игнорировать таблицы предоставления доступа. Это дает любому ПОЛНЫЙ доступ ко всем таблицам.
--skip-locking
Не использовать блокировку системы. Может дать лучшую эффективность, но не должен использоваться вместе с isamchk. ТО ЕСТЬ, сначала остановите сервер.
--skip-name-resolve
Эта опция заставит mysqld принимать адреса IP только тех серверов, которые явно указаны в базе данных привилегий mysql. DNS можно более или менее просто хакнуть, а эта опция позволяет избежать ряда проблем, если прикладная программа требует высокого уровня защиты.
--skip-networking
Использовать подключения только через интерфейс localhost. Эта опция не будет работать с MIT потоками. Если подключения к базе данных будут только локальные, то использование этой опции защитит от создания удаленных подключений.
--skip-unsafe-select
Пропустить возможно опасные оптимизации.
--socket=[socket]
Имя сокет-файла для MySQL. Недоступно при использовании версии MySQL, скомпилированной с MIT потоками.
ПРИМЕР:
mysqld --socket=/tmp/mysql.sock
-V, --version Вывести информацию о версии.
Если опция -h не определена, mysql будет считать, что основной каталог = "/my/data/sql/mysql".
Все базы данных размещены в каталоге [homedir]/[имя базы данных] .
Опция -l должна использоваться осторожно. Когда используется сервер, с большим объемом транзакций, этот файл может стать большим очень быстро. Если Вы не определяете имя logfile, при использовании опции -l mysqld будет писать протокол в файл [homedir]/[hostname].log.
Опция -O позволяет Вам определять значения для следующих параметров:
Имя
Значение по умолчанию
back_log
5
keybuffer
1048568
max_allowed_packet
65536
net_buffer_length
8192
max_connections
90
table_cache
64
recordbuffer
131072
sortbuffer
2097144
max_sort_length
1024
Информация относительно того, что эти значения делают, и как поднять эффективность mysqld, находится здесь.