Автор: Пользователь скрыл имя, 18 Февраля 2013 в 20:29, курсовая работа
MySQL написан под десятки видов операционных систем. Это и FreeBSD, OpenBSD, MacOS, OS/2, SunOS, Win9x/00/NT и Linux. Сегодня MySQL особенно распространена на платформах Linux и Windows. Причем на последней встречается гораздо реже.
Принцип работы СУБД MySQL аналогичен принципу работы любой СУБД, использующей SQL (Structured Query Language, язык структурированных запросов) в качестве командного языка для создания/удаления баз данных, таблиц, для пополнения таблиц данными, для осуществления выборки данных.
Целью данной работы является описание конфигурирования, администрирования и программирования СУБД MySQL и создание программы иллюстрирующей возможности MySQL.
Введение……………………………………………………………………………4
1. Общее описание, запуск и настройка
прав доступа к базам данных MySQL……………………….……..…..5
2. Команды пакета MySQL……………………………………………….…..10
2.1. Основные команды………………...…………………………………..11
2.2. Дополнительные команды…………………...………………….…….23
3. Настройка mysqld (серверная часть пакета MySQL)…………………….27
4. Возможность языка Perl для работы с MySQL сервером…………...…..29
Заключение……………………………………………..………………..……….31
Список литературы………………………………………….…………………..33
Вообще, нужно использовать переключатель -rq для ремонта таблицы, потому что он выполняет "оперативный" ремонт. Для такого ремонта не нужно временного места в памяти, таким образом он проходит быстро, так как isamchk не копирует файл данных.
Перед началом работы, надо перейти в каталог с таблицей, которая нуждается в проверке и/или ремонте. В общем случае, это $DATADIR/DBNAME.
Опции программы isamchk:
-# |
Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-? |
Справка. |
-a |
Анализ. Используется для для оптимизации размещения таблиц. |
-d |
Информация о таблице. |
-e |
Расширенная проверка. При запуске с этой опцией надо остановить демон mysqld. |
-f |
Принудительно создать временный файл. Эта опция вызовет 'isamchk -r', если таблица разрушена. |
-k# |
Используемые ключи. |
-i |
Дополнительная информация. |
-q |
Быстрая проверка. |
-r[o] |
Восстановление, Эта опция также уплотнит внутренние индексы B-Tree, используемые MySQL. Используйте эту опцию, чтобы уменьшить место, занимаемое таблицей, за счет удаления неиспользуемых индексов. |
-s |
Работать молча. |
-u |
Распаковать упакованный файл. |
-v |
Подробный вывод. Используется вместе с другими параметрами, чтобы получить большее количество информации. Можно задать большее количество символов v для повышения объема выдаваемой информации (например, vv). |
-w |
Ждать, если таблица заблокирована. |
-I |
Справка. |
-S[ir]# |
Сортировать индекс/записи по ключу #. Эта опция оптимизирует размещение данных в таблице. |
-V |
Информация о версии. |
-O var=# |
Опция оптимизации var=#[k][m] |
Можно
использовать вторую опцию '-q'
ПРИМЕРЫ:
isamchk -r [table_name] |
Убрать все дырки, которые сформировались из-за использования BLOBS или VARCHARS. Также установить какие еще есть проблемы. |
isamchk -ei [table_name] |
Проверить таблицу и отобразить статистику. |
isamchk [table_name] |
Найти большинство ошибок. |
isamchk -rq [table_name] |
Обновить только индексный файл. Быстро, но не исправляет ошибки в файле данных. |
isamchk -d -v [table_name] |
Описание таблицы. |
isamchk -rq -Si [table_name] |
Полная оптимизация таблицы [table_name]. |
Получение статистики, и использование isam-журналов.
СИНТАКСИС:
isamlog [-?iruvIV] [-c #] [-f #] [-p #] [-F filepath/] [-o #]
[-R file recordpos] [-w write_file] [log-filename]
ОПИСАНИЕ:
Эта программа используется вместе с опцией --log-isam=file_name демона mysqld.
Файл file_name будет хранить протокол всех изменений для всех таблиц. Программа isamlog может быть использована для получения информации об этом файле и обновить все таблицы и базы данных.
Чтобы восстановить базу данных, нужна копия, которая содержит вашу базу данных до того, как mysqld сгенерировал ISAM журнал, или полный набор ISAM журналов с начала работы вашей базы данных.
-? or -I |
Справка. |
-V |
Информация о версии. |
-c # |
Выполнить только # команд. |
-f # |
Максимальное число открытых файлов. Если откроется больше чем # файлов, то лишние будут автоматически закрыты и вновь открыты по мере необходимости. |
-F [path] |
Файл протокола ISAM содержит полный путь к таблицам. Можно использовать эту опцию, чтобы отменить сохраненный путь. ПРИМЕР: -F '/var/mirror/' заставит
isamlog работать с файлами в /var/ |
-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]. Эта опция может |
Скрипт для запуска демона mysqld.
СИНТАКСИС:
safe_mysqld [options to mysqld]
ОПИСАНИЕ:
Этот скрипт обычно выполняется при начальной загрузке, чтобы запустить mysqld. Если необходимо, чтобы DATADIR был помещен в иерархии каталога MySQL, что и mysqld, нужно подправить DATADIR в этом скрипте.
Генерирует файлы сообщений об ошибках на национальном языке.
СИНТАКСИС:
comp_err [-?] [-I] [-V] fromfile[s] tofile
ОПИСАНИЕ:
Эта программа используется для компиляции текстовых файлов которые содержат соответствие между кодами ошибок mysql и текстовыми сообщениями об этих ошибках в формат, который понимает mysql. Это нужно для изменения уже существующего файла сообщений или генерации такого файла для другого языка.
ПРИМЕР:
comp_err share/english/errmsg.txt share/english/errmsg.sys
Выполняет начальное преобразование mSQL скрипта в MySQL.
СИНТАКСИС:
msql2mysql [filename]
ОПИСАНИЕ:
Скрипт msql2mysql используется как первый шаг при портировании msql скриптов в MySQL.
Программа msql2mysql - фактически довольно простой скрипт, который использует команду replace, которая поставляется с СУБД MySQL, чтобы заменить mSQL обращения к функции на их MySQL эквиваленты. Меняются только имена, дополнительные параметры не добавляются.
Генерирует отчет об ошибках.
СИНТАКСИС:
mysqlbug [address]
ОПИСАНИЕ:
Этот скрипт используется при сообщении об ошибках в MySQL. Он генерирует форму, которую для заполнения помещает в любой текстовый редактор, указанный в переменной $VISUAL (Vi по умолчанию). Форма будет содержать автоматически сгенерированную информацию относительно вашей системы, включая версии OS и MySQL и архитектуру. При окончании, форма будет отправлена по почте в список рассылки MySQL.
Выводит короткое текстовое объяснение числового кода ошибки.
СИНТАКСИС:
$ perror [-?vIV] [errorcodes]
ОПИСАНИЕ:
Программа perror предоставляет короткие текстовые объяснения числовых кодов ошибок, возвращаемых системой или СУБД MySQL.
Программа perror поддерживает опции:
-? or -I |
Справка. |
-v |
Подробная информация. |
-V |
Информация о версии. |
СИНТАКСИС:
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 простая
и очень полезная утилита с
большими потенциальными
Найти команду.
СИНТАКСИС:
which1 [cmd]
ОПИСАНИЕ:
Эта команда, вероятно, полезна только на системах, которые не имеют, команды which, встроенной в оболочку, или доступной как команда. Выводит только первую найденную команду.
Послать сигнал процессу, который соответствует образцу.
СИНТАКСИС:
zap [-signal] [-?Ift] pattern
ОПИСАНИЕ:
По умолчанию zap запросит подтверждение для каждого подходящего процесса.
Программа zap поддерживает опции:
-I or -? |
Справка. |
-f |
Послать сигнал без запроса подтверждения. |
-t |
Вывести список процессов, соответствующих образцу, но не сигнал им не посылать. |
В качестве сигнала допускается любой сигнал системы unix. По умолчанию сигнал = 9 (завершить процесс).
При указании опции -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 |
Максимальное время для сортировки? |