Все программы MySQL имеют множество различных опций. При этом каждая программа MySQL поддерживает опцию -help, которую можно использовать для получения полного описания различных опций программы. Например, попробуйте выполнить mysql -help.
Заданные по умолчанию опции для всех стандартных программ можно переопределять при помощи файла опций.
В следующем списке приводятся краткие описания серверных программ MySQL.
Утилита, применяемая для описания, проверки, оптимизации и восстановления таблиц MySQL. Поскольку утилитаmyisamchk имеет много функций, она описывается отдельно.
Создает бинарную поставку откомпилированного кода MySQL. Эту версию при помощи FTP можно передать на сайтsupport.MySQL.com в директорию /pub/mysql/Incoming, чтобы ею могли воспользоваться и другие пользователиMySQL.
Сценарий, составляющий отчет о возникшей в MySQL неполадке. Этот сценарий должен всегда использоваться для составления отчета для почтового списка рассылки MySQL.
Сам сервер MySQL, демон. Он должен работать постоянно.
Создает таблицы привилегий MySQL с заданными по умолчанию привилегиями. Это обычно делается только один раз, при первой инсталляции MySQL в системе.
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].
Обратите внимание: все опции, которые вводятся в командной строке для safe_mysqld, передаются mysqld. Если требуется применить в safe_mysqld какие-либо опции, которые mysqld не поддерживает, эти опции нужно определить в файле опций.
Большинство опций safe_mysqld - те же, что и у mysqld.
Safe_mysqld поддерживает следующие опции:
-ledir=path | Путь к mysqld |
-log-error=path | Записывать журнал ошибок в указанный файл |
-datadir=path, | Служебные пути для mysqld |
-no-defaults | |
-open-files-limit=# | Максимальное количество файлов, которые могут быть открыты mysqld. Значение передается ulimit -n. Обратите внимание: чтобы эта опция работала корректно, необходимо запустить safe_mysqld от пользователя root! |
-port=# | Номер порта для сетевой связи |
-socket=path | Сокет для связи |
-timezone=# | Устанавливает переменную часового пояса (TZ) в значение, передаваемое в этом параметре |
-core-file-size=# | Размер файла, который mysqld должен быть способен создать. Используйте ulimit -c |
-mysqld=mysqld-version | Имя версии mysqld в каталоге ledir |
-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 будет записана поверх старой, поэтому нужно сделать копию отредактированной версии, которую вы сможете затем установить повторно.
Программа mysqld_multi предназначена для управления несколькими процессами mysqld, работающих на различных сокетах Unix и портах TCP/IP.
Программа будет искать группу(группы) [mysqld#] в my.cnf (или заданных при помощи -config-file=... файлах), где # — любое положительное число, начиная с 1. Мы говорим про этот номер далее как про номер группы опций, или GNR. Номера групп различают группы опций одну от другой и используются как аргумент при запуске mysqld_multi чтобы указать, какие серверы вы хотите запустить, остановить или получить статус. Эти группы должны быть такими же, как и обычная группа [mysqld], но с такими портом, сокетом и т.д., которые требуются для каждого отдельного процесса mysqld.
mysqld_multi запускается в таком синтаксисе:
Использование: mysqld_multi [OPTIONS] {start|stop|report} [GNR,GNR,GNR...]
или mysqld_multi [OPTIONS] {start|stop|report} [GNR-GNR,GNR,GNR-GNR,...]
GNR здесь означает номер группы. Можно запускать, останавливать или создавать отчеты о любом GNR или о нескольких из них одновременно. Получить пример о том, как бы вы могли настроить файл опций, можно так:
shell> mysqld_multi -example
В качестве разделителей в списке GNR применяются запятые, комбинации создаются при помощи тире. Последнее означает, что будут задействованы все номера GNR из диапазона GNR1-GNR2. Если не задан аргумент GNR, то все группы будут либо запущены, либо остановлены, либо будет выведен отчет об этих группах. Обратите внимание, что в спискеGNR не должно быть никаких пропусков (пробелов, символов табуляции или пустых строк). Любые данные после пропуска будут игнорироваться.
mysqld_multi поддерживает следующие опции:
-config-file=... | Альтернативный файл конфигурации (config file). Примечание: данный файл не влияет на собственные опции этой программы (группа [mysqld_multi]), а только на группы [mysqld#]. Без этой опции поиск всех данных будет осуществляться только в обычном файле my.cnf |
-example | Представляет пример файла конфигурации |
-log=... | Файл журнала. Имя файла журнала и полный путь к нему. Примечание: если файл существует, записи будут добавляться в конец файла |
-mysqladmin=... | Исполняемый файл mysqladmin, используемый для завершения работы сервера |
-mysqld=... | Исполняемый файл mysqld, который будет использоваться. Обратите внимание: в этой опции можно также указывать safe_mysqld. Опции передаются mysqld. Необходимо только удостовериться, что в переменной окружения PATH имеется mysqld или что установлен safe_mysqld |
-no-log | Вывод в stdout вместо журнала. По умолчанию журналы включены |
-password=... | Пароль пользователя для доступа к mysqladmin |
-tcp-ip | Подсоединение к серверу(ам) MySQL по TCP/IP вместо Unix-сокетов. Данная опция влияет на завершение работы сервера и создание отчетов. Если файл сокета отсутствует, сервер будет работать, но к нему можно будет обращаться только через порт TCP/IP. По умолчанию соединение осуществляется через сокет Unix |
-user=... | Имя пользователя MySQL для mysqladmin |
-version | Вывод номера версии и завершение работы |
Утилита myisampack используется для сжатия таблиц MyISAM, а утилита pack_isam — для сжатия таблиц ISAM. Поскольку таблицы ISAM являются устаревшими, здесь будет рассматриваться только myisampack.
myisampack сжимает каждый столбец в таблице по отдельности. Информация, необходимая для декомпрессии столбцов, считывается в память при открытии таблицы. В результате обеспечивается более высокая производительность при доступе к отдельным записям, поскольку нужно распаковывать только одну запись, а не значительно больший по размеру дисковый блок, как при использовании программы Stacker в MS DOS. В среднем myisampack сжимает файл данных на 40%-70%.
MySQL использует отображение в памяти (mmap()) для сжатых таблиц, а если mmap() не работает, возвращается назад к нормальному режиму чтения/записи.
Обратите внимание на следующее:
Утилиту myisampack можно запустить следующим образом:
shell> myisampack [options] filename ...
Каждое имя файла (filename) должно быть именем индексного файла (.MYI). Если вы не находитесь в директории базы данных, необходимо указать полный путь к файлу. Допускается опускать расширение .MYI.
myisampack поддерживает следующие опции:
-b, | Создает резервную копию таблицы, присваивая ей имя tbl_name.OLD |
-#, | Выводить журнал отладки. Строка debug_options часто принимает значение d:t:o,filename |
-f, | Сжатие таблицы происходит, даже если она увеличивается или если существует временный файл. Во время сжатия таблицы myisampack создает временный файл tbl_name.TMD. Если вы вручную прекратите выполнение myisampack, может оказаться, что файл tbl_name.TMD не будет удален. Обычно если myisampack обнаруживает существующий tbl_name.TMD, она прекращает работу и выдает ошибку. При указании опции -force myisampack сжимает таблицу в любом случае |
-j big_tbl_name, | Соединяет все таблицы, указанные в командной строке, в одну таблицу big_tbl_name. Все таблицы, подлежащие объединению, должны быть идентичными (одинаковые имена и типы столбцов, одинаковые индексы и т.д.) |
-p #, | Определяет разрядность поля, хранящего длину строки, в байтах. Может принимать значения 1, 2 или 3. (myisampack хранит все строки с указателями длины размером в 1, 2, или 3 байта. В большинстве случаев myisampack способна определить правильное значение длины перед началом сжатия файла, но во время сжатия она может обнаружить, что может быть использована более короткая длина. В этом случае myisampack выведет сообщение о том, что в следующий раз при сжатии данного файла можно использовать более короткую длину записи.) |
-s, | Молчаливый режим. Сообщения выводятся только при возникновении ошибок |
-t, | Сжатие таблицы не выполняется, происходит только проверка процедуры сжатия |
-T dir_name, | Указанная директория используется как местоположение для соз |
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.