Смекни!
smekni.com

Эта программа используется вместе с опцией --log-isam=file_name демона mysqld.

Файл file_name будет хранить протокол всех изменений для всех таблиц. Программа isamlog может быть использована для получения информации об этом файле и обновить все таблицы и базы данных.

Чтобы восстановить базу данных, нужна копия, которая содержит вашу базу данных до того, как mysqld сгенерировал ISAM журнал, или полный набор ISAM журналов с начала работы вашей базы данных.

-? or -I Справка.
-V Информация о версии.
-c # Выполнить только # команд.
-f # Максимальное число открытых файлов. Если откроется больше чем # файлов, то лишние будут автоматически закрыты и вновь открыты по мере необходимости.
-F [path] Файл протокола ISAM содержит полный путь к таблицам. Можно использовать эту опцию, чтобы отменить сохраненный путь. ПРИМЕР: -F '/var/mirror/' заставит isamlog работать с файлами в /var/mirror, а не с теми, которые указаны в сохраненном пути.
-i Вывести более детальную информацию.
-o # Начать со смещения #.
-p # Удалить # компонент из пути.
-r Игнорировать все ошибки, с которыми сталкиваемся в течение модификаций.
-R Указать позицию в файле ISAM, о которой надо выдать сведения. ПРИМЕР: isamlog -R /usr/local/data/mysql/user.ISM 1234 Выведет все изменения в таблице /usr/local/data/mysql/user, которые найдены в позиции 1234.
-u Пытаться модифицировать все таблицы. Остановиться, если встречена ошибка.
-v Подробный вывод. Можно задать большее количество символов v для повышения объема выдаваемой информации (например, vv).
-w [filename] Записать все записи вставленные или измененные опцией -R в [filename]. Эта опция может использоваться, чтобы получить двоичный файл всех вставок и модификаций конкретной таблицы для использования в отладке.

safe_mysqld

Скрипт для запуска демона mysqld.

СИНТАКСИС:

safe_mysqld [options to mysqld]

ОПИСАНИЕ:

Этот скрипт обычно выполняется при начальной загрузке, чтобы запустить mysqld. Если необходимо, чтобы DATADIR был помещен в иерархии каталога MySQL, что и mysqld, нужно подправить DATADIR в этом скрипте.

2.2. Дополнительные команды

comp_err

Генерирует файлы сообщений об ошибках на национальном языке.

СИНТАКСИС:

comp_err [-?] [-I] [-V] fromfile[s] tofile

ОПИСАНИЕ:

Эта программа используется для компиляции текстовых файлов которые содержат соответствие между кодами ошибок mysql и текстовыми сообщениями об этих ошибках в формат, который понимает mysql. Это нужно для изменения уже существующего файла сообщений или генерации такого файла для другого языка.

ПРИМЕР:

comp_err share/english/errmsg.txt share/english/errmsg.sys

msql2mysql

Выполняет начальное преобразование mSQL скрипта в MySQL.

СИНТАКСИС:

msql2mysql [filename]

ОПИСАНИЕ:

Скрипт msql2mysql используется как первый шаг при портировании msql скриптов в MySQL.

Программа msql2mysql - фактически довольно простой скрипт, который использует команду replace, которая поставляется с СУБД MySQL, чтобы заменить mSQL обращения к функции на их MySQL эквиваленты. Меняются только имена, дополнительные параметры не добавляются.

mysqlbug

Генерирует отчет об ошибках.

СИНТАКСИС:

mysqlbug [address]

ОПИСАНИЕ:

Этот скрипт используется при сообщении об ошибках в MySQL. Он генерирует форму, которую для заполнения помещает в любой текстовый редактор, указанный в переменной $VISUAL (Vi по умолчанию). Форма будет содержать автоматически сгенерированную информацию относительно вашей системы, включая версии OS и MySQL и архитектуру. При окончании, форма будет отправлена по почте в список рассылки MySQL.

perror

Выводит короткое текстовое объяснение числового кода ошибки.

СИНТАКСИС:

$ perror [-?vIV] [errorcodes]

ОПИСАНИЕ:

Программа perror предоставляет короткие текстовые объяснения числовых кодов ошибок, возвращаемых системой или СУБД MySQL.

Программа perror поддерживает опции:

-? or -I Справка.
-v Подробная информация.
-V Информация о версии.

replace

СИНТАКСИС:

replace [-?svIV] from to from to ... -- [files]

ОПИСАНИЕ:

Программа program используется скриптом msql2mysql. Replace может быть использована для замены строки на месте в файле или получать строку через канал (пайп), производить замену и выводить результат в STDOUT.

Допустимы следующие опции:

-? Справка.
-s Работать молча (никаких статусных сообщений).
-v Подробная информация о ходе работы (выводить дополнительные сообщения).

ПРИМЕРЫ:

replace Apple Orange somefile

Заменит все вхождения Apple на Orange в файле somefile.

cat INFILE | replace Apple Orange Blimp Train > OUTFILE

Все вхождения Apple в файле INFILE будут заменены на Orange и результат выведен в файл OUTFILE. В то же время, все вхождения Blimp в файле INFILE будут заменены на Train и тоже выведены в файл OUTFILE. Таким образом, можно заменять более чем одно выражение за один проход.

Можно использовать специальные символы во входных строках:

\^

Соответствует началу строки.

\$

Соответствует концу строки.

\b

Соответствует пробелу. Может появляться или отдельно, или в начале, или в конце лексемы. Если \b используется в конце лексемы, следующие замены начнутся после пробела. \b соответствует только пробелу.

Replace простая и очень полезная утилита с большими потенциальными возможностями использования в MySQL.

which1

Найти команду.

СИНТАКСИС:

which1 [cmd]

ОПИСАНИЕ:

Эта команда, вероятно, полезна только на системах, которые не имеют, команды which, встроенной в оболочку, или доступной как команда. Выводит только первую найденную команду.

zap

Послать сигнал процессу, который соответствует образцу.

СИНТАКСИС:

zap [-signal] [-?Ift] pattern

ОПИСАНИЕ:

По умолчанию zap запросит подтверждение для каждого подходящего процесса.

Программа zap поддерживает опции:

-I or -? Справка.
-f Послать сигнал без запроса подтверждения.
-t Вывести список процессов, соответствующих образцу, но не сигнал им не посылать.

В качестве сигнала допускается любой сигнал системы unix. По умолчанию сигнал = 9 (завершить процесс).

3. Настройка mysqld (серверная часть пакета MySQL)

При указании опции -O, отдельно (без дополнительных параметров) можно получить список всех переменных и их текущих значений. Это может выглядеть примерно так:

$ mysqld -O

Возможные переменные в опции -O:

Имя

Значение по умолчанию

back_log

Определите размер очереди для входящих tcp/ip подключений.. Некоторые ОС могут иметь максимальное значение этой переменной 128 или 256.

keybuffer

Размер кэш-буфера, для хранения всех недавно использованных ключей. Большой буфер дает самую лучшую эффективность. С переключателем -Sl распределен только один буфер.

max_allowed_packet

Буфер подключений сервера может быть изменен до этого значения, если пользователь дает длинную команду. Начальный буфер = 'net_buffer_length'. На каждое подключение выделяется один буфер.

net_buffer_length

Начальный размер буфера подключений. На каждое подключение выделяется один буфер.

max_connections

Максимальное число подключений, которые mysqld может иметь открытыми в одно и то же время.

table_cache

Максимальное число таблиц сохраняемых открытыми на сервере. Таблицы хранятся открытыми, для ускорения запроса к часто используемым таблицам. Однако, каждая открытая таблица требует много памяти.

recordbuffer

Размер кэш-буфера для хранения прочитанных записей. На каждое подключение выделяется один буфер.

sortbuffer

Размер буфера, используемого при сортировке. На каждое подключение выделяется один буфер.

max_sort_length

Максимальное время для сортировки?

Полезные замечания

· Все потоки совместно используют ту же самую основную память.

· MySQL в настоящее время не использует memmap. Это может изменяться.

· Можно определять размер буфера для ключей при старте mysqld. Буфер ключей будет кэшировать все ключи во всех таблицах В ПОРЯДКЕ ПОСТУПЛЕНИЯ запросов (переменная keybuffer)

· Каждое подключение использует некоторую часть потока, стек и буфер подключений (переменная net_buffer_length).

· Каждый запрос, делающий последовательный просмотр записей в таблице, распределяет буфер чтений (переменная recordbuffer).

· Каждый запрос, выполняющий сортировку, распределяет sortbuffer и один или два временных файла. Максимально необходимое дисковое пространство = (sort_key_length + sizeof(long))*2.

· Все объединения выполняются за один проход, и результат сохраняется во временной таблице в памяти. Выполнение полного объединения и сортировки на двух больших таблицах может потребовать очень большого объема памяти.

· Индексные файлы открываются один раз. Файлы данных открываются один раз для каждого параллельного потока. Каждый параллельный поток имеет полную таблицу struct и поле struct плюс память для трех полных строк столбцов. BLOB требует еще 5-8 байт.

· Если таблица имеет BLOB, буфер будет распределен, чтобы читать данные BLOB. Этот буфер будет расти по мере необходимости, до размеров самого большого BLOB в таблице.

· Когда таблица используется, она сохраняется в кэше. Этот кэш будет загружен и опорожнен В ПОРЯДКЕ ПОСТУПЛЕНИЯ запросов (FIFO). По умолчанию mysqld будет кэшировать 64 таблицы. Если много потоков обращаются к одной и той же таблице одновременно, будет иметься одна запись на поток. ТО ЕСТЬ, если два потока одновременно обращаются к той же самой таблице, будет две записи в кэше.