Система управления базами данных MySQL

Автор: Пользователь скрыл имя, 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

Файлы: 1 файл

bestref-52537.doc

— 264.50 Кб (Скачать)

                                                                                                                                                              31



Cодержание

 

Введение……………………………………………………………………………4

  1. Общее описание, запуск и настройка

          прав доступа к базам данных MySQL……………………….……..…..5

  1. Команды пакета MySQL……………………………………………….…..10
    1. Основные команды………………...…………………………………..11
    2. Дополнительные команды…………………...………………….…….23
  2. Настройка mysqld (серверная часть пакета MySQL)…………………….27
  3. Возможность языка Perl  для работы с MySQL сервером…………...…..29

Заключение……………………………………………..………………..……….31

Список литературы………………………………………….…………………..33

 

 

 

 

 

 

 

 

 

 

Введение.

 

На сегодняшний день СУБД MySQL является одной из самых  известных, надежных и быстрых из всего семейства существующих СУБД. Почему именно она? Одной из причин являются правила ее распространения — за нее не надо платить деньги и распространяется она вместе со своими исходными текстами, другая причина – это то, что MySQL относительно быстрая СУБД.  PostgreSql, например, также распространяется под лицензией *GNU GPL, но она не получила столь широкого распространения. Одна из причин — это заметная медлительность.  Итак, две главные причины популярности MySQL: цена и производительность.

MySQL написан под десятки видов  операционных систем. Это и FreeBSD, OpenBSD, MacOS, OS/2, SunOS, Win9x/00/NT и Linux. Сегодня MySQL особенно распространена на платформах Linux и Windows. Причем на последней встречается гораздо реже.

Принцип работы СУБД MySQL аналогичен принципу работы любой СУБД, использующей SQL (Structured Query Language, язык структурированных запросов) в качестве командного языка для создания/удаления баз данных, таблиц, для пополнения таблиц данными, для осуществления выборки данных.

Целью данной работы является описание конфигурирования, администрирования и программирования СУБД MySQL  и создание программы иллюстрирующей возможности MySQL.

 

 

 

 

 

 

 

 

  1. Общее описание, запуск и настройка прав доступа к 

базам данных MуSQL.

MySQL, как и любая другая СУБД представляет собой программу-сервер, которая находится в памяти компьютера и обслуживает TCP порт. В случае с MySQL, номером порта будет являться число 3306. А клиентская программа, будь то CGI-приложение на Perl либо программный продукт на C, соединяется с СУБД по этому порту и посылает ему строчки на SQL. Тот в свою очередь их интерпретирует, выполняя необходимые действия, и отсылает результаты запроса обратно клиенту. Таким способом происходит общение сервера баз данных с клиентскими программами.

Для запуска MуSQL-сервера необходимо выполнить файл  mysqld.exe. Сервер запускается как безоконный фоновый процесс. При этом он остается в памяти и обрабатывает запросы от клиентских приложений.

Для остановки сервера  следует выполнить команду:

mysqladmin -u root shutdown.

Если сервер не был  остановлен корректно, то при последующем  запуске в файле mysql.err будет добавлена запись о некорректном завершении. Корректная остановка сервера необходима для сохранения всех данных, которые находятся в кэшах MySQL.

 MуSQL имеет развитую систему доступа к базам данных. Пользователю базы данных может быть предоставлен доступ ко всей базе данных, отдельным таблицам и отдельным столбцам таблиц. Имеется разграничение на действия, которые может производить пользователь с записями. Для организации такой сложной (на первый взгляд) структуры доступа используется несколько таблиц в специальной базе данных. На основании значений этих таблиц выстраивается политика предоставления доступа.

База данных, которую  сервер MуSQL использует для хранения внутренней информации о пользователях, по умолчанию имеет имя mуsql. В этой базе данных определены таблицы для хранения информации пользовательских учетных записей. Содержание БД mysql в таблице 1.1.

Таблица 1.1. Список таблиц прав доступа

Порядок проверки

Название таблицы

Описание

1

user

Список всех пользователей  сервера MySQL с правами доступа ко всей базе данных в целом

2

db

Список баз данных с сопоставленными им пользователями и их привилегиями на выполнение операции

3

host

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

4

tables_priv

Список таблиц баз  данных, к которым возможен доступ пользователя

5

columns_priv

Список столбцов базы данных, к которым возможен доступ пользователя




 

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

Таблица 1.2. Поля таблицы user

Название поля

Тип

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

Описание

1

2

3

4

Host

Char(60)

 

Компьютер пользователя, с которого разрешено подключение

User

Char(16)

 

Имя пользователя

Password

Char(16)

 

Пароль пользователя

Select_priv

Enum(‘N’, ‘Y’)

N

Привилегии на выборку данных оператором SELECT

Insert_priv

Enum(‘N’, ‘Y’)

N

Привилегии на вставку данных оператором INSERT

Update_priv

Enum(‘N’, ‘Y’)

N

Привилегии на изменение  данных оператором UPDATE

Delete_priv

Enum(‘N’, ‘Y’)

N

Привилегии на удаление данных оператором DELETE

Reload_priv

Enum(‘N’, ‘Y’)

N

Привилегии на перезапуск сервера MySQL, а также сброс данных из памяти на диск

1

2

3

4

Shutdown_priv

Enum(‘N’, ‘Y’)

N

Привилегии на отключение сервера MySQL

Process_priv

Enum(‘N’, ‘Y’)

N

Привилегии на просмотр состояния текущих процессов сервера

File_priv

Enum(‘N’, ‘Y’)

N

Привилегии, необходимые  для работы с файловой системой, например оператором LOAD DATA INFILE

Grant_priv

Enum(‘N’, ‘Y’)

N

Привилегии, позволяющие  пользователю устанавливать привилегии другим пользователям

References_priv

Enum(‘N’, ‘Y’)

N

Привилегии, позволяющие  ссылаться на объект

Index_priv

Enum(‘N’, ‘Y’)

N

Привилегии, необходимые  для индексирования данных

Alter_priv

Enum(‘N’, ‘Y’)

N

Привилегии, позволяющие  обновлять данные


 

Поля с типом Enum ( ‘N’, ‘Y’ ) считаются разрешенными, если установлено значение Y, и неразрешенными, если установлено значение N.

Для администратора сервера MуSQL необходимы все привилегии, для обычных пользователей в данной таблице обычно не разрешена ни одна из привилегии, т. е. Обычные пользователи не могут изменять конфигурацию сервера MySQL. Исключением можно считать привилегии File_priv, если пользователь активно работает с файловой системой.

Поле host может быть описано как IP-адрес или имя, а также может быть пустым. В имени компьютера и в имени пользователя разрешается применение регулярных выражений.

Пароли хранятся в зашифрованном виде и не имеют функции обратной дешифровки. Для того чтобы задать пароль, необходимо использовать функцию password ().

Если  привилегии на просмотр процессов сервера не разрешены, тогда пользователь может видеть только собственные процессы.

На этапе проверки значений таблицы user пропускаются для дальнейшей обработки только те соединения, у которых поля Host, User и значения функции password () от значения пароля, полученного от клиента, совпадают.

Дальнейшая обработка  приводится в таблице db. На этом этапе определяются привилегии, которыми обладает пользователь для работы с конкретной базой данных (таблица. 1.3).

 Таблица 1.3. Привилегии для  работы с базой данных

Название поля

Тип

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

Описание

Host

   

Адрес компьютера пользователя, с которого разрешено подключение

Db

   

Имя базы данных

User

   

Имя пользователя

Select_priv

Enum(‘N’, ‘Y’)

N

Привилегии на выборку  данных оператором SELECT

Insert_priv

Enum(‘N’, ‘Y’)

N

Привилегии на вставку  данных оператором INSERT

Update_priv

Enum(‘N’, ‘Y’)

N

Привилегии изменения  данных оператором UPDATE

Delete_priv

Enum(‘N’, ‘Y’)

N

Привилегии на удаление данных DELETE

Create_priv

Enum(‘N’, ‘Y’)

N

Привилегии, необходимые  для создани таблиц оператором CREATE TABLE

Drop_priv

Enum(‘N’, ‘Y’)

N

Привилегии, необходимые  для удаления таблиц оператором DROP TABLE

Grant_priv

Enum(‘N’, ‘Y’)

N

Привилегии, позволяющие  пользователю устанавливать привилегии другим пользователям

References_priv

Enum(‘N’, ‘Y’)

N

Привилегии, позволяющие  ссылаться на объект

Index_priv

Enum(‘N’, ‘Y’)

N

Привилегии, необходимые  для индексирования данных

Alter_priv

Enum(‘N’, ‘Y’)

N

Привилегии, позволяющие  обновлять данные


 

Привилегии, указанные  в таблице db, перекрывают значения, полученные в таблице user, именно поэтому пользователи могут не иметь ни одной привилегии в таблице user.

Один пользователь может иметь  несколько различных адресов, с  которых может производиться подключение, поэтому на данном этапе проверяется значение Host. Если значение поле Host пусто, тогда проводится дополнительная проверка в таблице host. Таблица Host идентична таблице Db, за исключением того, что в ней отсутствует поле User. Столбцы таблицы host аналогичны столбцам таблицы db, разница состоит только в том, что данные из таблицы host при совпадении полей Host и Db имеют более высокий приоритет, и перекрывают ранее установленные значения.

MySQL сервер позволяет устанавливать ограничения на доступ к отдельным таблицам и столбцам таблицы (эта информация хранится в таблицах tables_priv и columns_priv), но увеличение числа проверок приводит к уменьшению производительности.

 

 

 

 

 

 

 

 

 

 

 

 

2. Команды пакета  MySQL.

СУБД MySQL поставляется  со следующими основными программами  и скриптами:

  • mysql
  • mysqlaccess
  • mysqladmin
  • mysqld
  • mysqldump
  • mysqlshow
  • isamchk
  • isamlog
  • safe_mysqld

Еще есть несколько  утилит. Они не жизненно важны для MySQL, но обеспечивают полезные дополнительные функциональные возможности.

  • comp_err
  • msql2mysql
  • mysqlbug
  • perror
  • replace
  • which1
  • zap

 

 

 

 

 

 

 

 

2.1. Основные команды

mysql

Клиентская программа MySQL.

Запуск:

mysql [OPTIONS] database

ОПИСАНИЕ:

Клиентская часть СУБД MySQL названа MySQL. Она обеспечивает интерфейс командной строки с СУБД MySQL, и возможность неинтерактивной пакетной обработки.

Программой mysql поддерживаются следующие опции. Можно использовать или "короткий" одиночный символ или более подробную версию.

-\?, --help

Справка.

-d, --debug=[options]

Вывести в протокол отладочную информацию. В общем виде 'd:t:o,filename`.

-d, --debug-info

Вывести отладочную информацию при выходе из программы.

-e, --exec

Выполнить команду и  выйти, неявная форма опции --batch.

-f, --force

Продолжить, даже если есть SQL ошибка.

-h, --hostname=[hostname]

Задает имя сервера, с которым необходимо соединиться.

-P, --port=[port]

Порт, для соединения с сервером MySQL.

-p, --password=[password]

Пароль пользователя, для соединения с сервером MySQL. Не должно быть пробела между -p и паролем.

-q, --quick

Быстрый (небуферизованный вывод), может замедлить сервер, если вывод приостановлен.

-s, --silent

Работать молча (подавить вывод).

-u, --user=[user]

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

-v, --verbose

Подробный вывод. -v опция может быть удвоена или утроена для более подробного вывода.

-w, --wait

Если подключение терпит неудачу, то подождать и повторить попытку.

-B, --batch

Выполнить в пакетном режиме. Никаких запросов и никаких ошибок в STDOUT. Устанавливается автоматически при чтении из/записи в канал. Результаты будут выведены в формате с разделением табуляцией. Одна строка результата соответствует одной строке вывода.

-I, --help

Справка, эквивалент -\?.

-V, --version

Вывести информацию о  версии пакета.

Информация о работе Система управления базами данных MySQL