Автор: Пользователь скрыл имя, 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
Проверка прав доступа пользователя.
СИНТАКСИС:
mysqlaccess [host] [user] [db] OPTIONS
ОПИСАНИЕ:
Скрипт mysqlaccess используется, чтобы внести в список привилегии пользователя для конкретной базы данных. Это дает информацию, которая может быть полезна при диагностировании проблем с доступом пользователей к данной базе данных.
Скрипт mysqlaccess поддерживает следующие параметры (можно использовать "короткий" одиночный символ или более подробную версию):
-?, --help |
Справка. |
-v, --version |
Информация о версии |
-u, --user=... |
Имя пользователя для доступа к базе данных. |
-p, --password=... |
Пароль пользователя, для соединения с сервером MySQL. |
-h, --host=... |
Имя сервера, используется для проверки прав доступа. |
-d, --db=... |
Имя базы данных, используется для проверки прав доступа. |
-U, --superuser=... |
Логин администратора. |
-P, --spassword=... |
Пароль администратора. |
-b, --brief |
Вывести краткие сведения о таблице. |
--relnotes |
Вывести заметки по реализации. |
--plan |
Вывести идеи для будущих реализаций. |
--howto |
Вывести примеры использования `mysqlaccess' |
--debug=N |
Уровень отладки N (0..3) |
Необходимо указать по крайней мере имя пользователя и имя базы данных, которые нужно проверить. Если имя сервера не задано, то подразумевается имя 'localhost'.
Выполняет административные функции.
СИНТАКСИС:
mysqladmin [OPTIONS] command command...
ОПИСАНИЕ:
Программа mysqladmin используется, для управления различными аспектами функционирования СУБД MySQL. Допустимы следующие опции (можно использовать "короткий" одиночный символ или более подробную версию):
-\?, --help |
Справка. |
-d, --debug=[options] |
Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-f, --force |
Не спрашивать подтверждения при пропуске таблицы. |
-h, --host=[hostname] |
Имя сервера, если не localhost. |
-i, --sleep=[seconds] |
Выполнить команды несколько раз с паузой в [секунд] между ними. |
-p, --password[password] |
Пароль пользователя, для соединения с сервером MySQL. Обратите внимание, что не должно быть пробела между -p и паролем. |
-u, --user=[user] |
Имя пользователя. Если не указано, используется текущий логин. |
-P, --port=[port] |
Порт, для соединения с сервером MySQL. |
-V, --version |
Вывести информацию о версии. |
Кроме этого программа mysqladmin поддерживает
следующие команды:
create [имя базы данных] |
Создать базу данных. |
drop [имя базы данных] |
Удалить базу данных (вместе со всеми таблицами). |
processlist |
Вывести сведения о работающих потоках MySQL. |
reload |
Перечитать настройки и очистить все кэши. |
shutdown |
Завершить работу СУБД MySQL. Все запущенные MySQL-сессии помечаются как 'killed'. Это означает, что все потоки, которые простаивают в настоящее время, будут закрыты немедленно, а управление потоками будет закрыто, когда они достигнут точек завершения, определенных сервером. Клиенты получат сообщение об ошибке 'mysql server has gone away'. |
status |
Вывести короткое сообщение о статусе сервера. |
Серверная часть пакета MySQL (mysqld).
СИНТАКСИС:
mysqld [OPTIONS]
ОПИСАНИЕ:
Программа 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 потоками. ПРИМЕР: |
-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 |
Дамп содержания базы данных.
СИНТАКСИС:
mysqldump [OPTIONS] [database [table [field]]]
ОПИСАНИЕ:
Программа mysqldump используется для создания дампа содержания базы данных MySQL. Она пишет инструкции SQL в стандартный вывод. Эти инструкции SQL могут быть переназначены в файл. Можно резервировать базу данных MySQL, используя mysqldump, но при этом Необходимо убедиться, что в этот момент с базой данных не выполняется никаких других действий.
Программа mysqldump поддерживает следующие параметры (можно использовать короткую или подробную версию):
-#, --debug=[options] |
Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-?, --help |
Справка. |
-c, --compleat-insert |
Генерируйте полные инструкции insert (не исключая значений, которые соответствуют значениям столбца по умолчанию). |
-h, --host=[hostname] |
Соединиться с сервером hostname. |
-d, --no-data |
Экспорт только схемы информации (исключая данные). |
-t, --no-create-info |
Экспорт только данных, исключая информацию для создания таблицы. Противоположность -d. |
-p, --password=[password] |
Пароль пользователя, для соединения с сервером MySQL. Обратите внимание, что не должно быть пробела между -p и паролем. |
-q, --quick |
Не буферизовать результаты запроса, дамп выдать непосредственно к STDOUT. |
-u, --user=[username] |
Имя пользователя. Если не задано, используется текущий логин. |
-v, --verbose |
Вывести подробную информацию относительно различных стадий выполнения mysqldump. |
-P, --port=[port] |
Порт для связи. |
-V, --version |
Информация о версии. |
Можно направить вывод mysqldump в клиентскую программу MySQL, чтобы копировать базу данных. Необходимо убедиться, что база данных не изменяется в это время, иначе получится противоречивая копию!
Показать информацию о сервере, базе данных или таблице.
СИНТАКСИС:
mysqlshow [OPTIONS] [database [table [field]]]
ОПИСАНИЕ:
Программа mysqlshow может использоваться, чтобы показать, с какими базами данных MySQL работает, какие таблицы данная база данных содержит, и какие поля есть в таблице в данной базе данных.
Программа mysqlshow поддерживает следующие параметры:
-#, --debug=[options] |
Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`. |
-?, --help |
Справка. |
-h, --host=[hostname] |
Связаться с сервером hostname. |
-k, --key |
Вывести ключ(и) для таблиц(ы). |
-p, --password=[password] |
Пароль пользователя, для соединения с сервером MySQL. |
-u, --user=[username] |
Имя пользователя. Если не задано, используется текущий логин. |
-P, --port=[port] |
Порт для связи. |
-V, --version |
Информация о версии. |
Mysqlshow без аргументов покажет все
базы данных. Mysqlshow с именем базы данных покажет
все таблицы в ней. Mysqlshow с именем базы данных и именем
таблицы покажет схему этой таблицы.
Если последний параметр содержит '?' или '*', то они используются как подстановочные знаки.
Проверка, восстановление, управление и сбор статистики по таблицам MySQL.
СИНТАКСИС:
isamchk [-?adeiqrsvwzIV] [-k #] [-O xxxx=size] [-Si] [-Sr #]
[-O keybuffer=#] [-O readbuffer=#] [-O writebuffer=#]
[-O sortbuffer=#] [-O sort_key_blocks=#] files
ОПИСАНИЕ:
Программа isamchk используется для проверки непротиворечивости таблиц и устранения любых проблем, которые это может вызвать. Isamchk может также использоваться, чтобы усилить таблицы в базах данных, которые содержат BLOB или поля символов переменной длины. Это необходимо только, если часто добавляются и удаляются записи из этих таблиц.
Необходимо остановить СУБД MySQL перед запуском isamchk с единственным переключателем -r.