Привилегии, предоставляемые MySQL
Таблица 6 - Привилегии пользователя[4]
Привилегия | Колонка | Где используется |
select | Select_priv | таблицы |
insert | Insert_priv | таблицы |
Update | Update_priv | таблицы |
delete | Delete_priv | таблицы |
index | Index_priv | таблицы |
alter | Alter_priv | таблицы |
create | Create_priv | БД, таблицы, индексы |
drop | Drop_priv | БД или таблицы |
grant | Grant_priv | БД или таблицы |
References | References_priv | БД или таблицы |
reload | Reload_priv | администрирование сервера |
Shutdown | Shutdown_priv | администрирование сервера |
Process | Process_priv | администрирование сервера |
file | File_priv | доступ к файлам на сервере |
Основные утилиты MySQL.
В состав дистрибутива MySQL входят следующие утилиты:
· mysqld
· mysql
· mysqladmin
· mysqlaccess
· mysqlshow
· mysqldump
· isamchk
Утилиты mysqld и mysql были подробно рассмотрены ранее, поэтому возвращаться к ним не будем. Кратко рассмотрим остальные.
Утилита для администрирования сервера. Может использоваться администратором, а также некоторыми пользователями, которым предоставлены определенные привилегии, например – Reload_priv, Shutdown_priv, Process_priv и File_priv. Данная команда может использоваться для создания баз данных, изменения пароля пользователя(администратор может изменить пароль любому пользователю, а рядовой пользователь – только свой собственный), перезагрузки и остановки сервера, просмотра списка процессов, запущенных на сервере. Mysqladmin поддерживает следующие команды:
Таблица 7 - Опции команды MySQLadmin
Create [database_name] | Создает базу данных |
Drop [database_name] | Удаляет базу данных и все таблицы в ней |
Reload | Перезагружает сервер |
Shutdown | Останавливает работу сервера MySQL |
Processlist | Выводит список процессов на сервере |
Status | Выводит сообщение о статусе сервера |
Пример использования mysqladmin для изменения пароля:
mysqladmin -u your_name password your_pass
Следует заметить, что в случае использования mysqladmin для установки пароля, не требуется использование функции password().Mysqladmin сам заботится о шифровании пароля.
Используется для проверки привилегий пользователя для доступа к конкретной базе данных. Общий синтаксис:
mysqlaccess [host] [user] [db] опции
Полезная утилита для проверки прав доступа пользователя, если он получает сообщение Access denied, при попытке соединиться с базой данных.
Опции:
Таблица 8 - Опции команды MySQLAccess
-?, --help | Справка |
-u, --user=[username] | Имя пользователя |
-p, --password=[password] | Пароль пользователя |
-h, --host=[hostname] | Имя хоста для проверки прав доступа |
-d, --db=[dbname] | Имя базы данных для проверки прав доступа |
-U, --superuser=[susername] | Имя суперпользователя(root) |
-P, --spassword=[spassword] | Пароль администратора |
-b, --brief | Выводит краткие сведения о таблице |
Mysqlshow
Используется, чтобы показать, с какими базами данных работает сервер, какие таблицы содержит каждая БД и какие колонки есть в каждой таблице.Синтаксис:
mysqlshow [опции] [database [table [field]]]
Mysqlshow может использовать следующие параметры:
Таблица 9 - Параметры команды Mysqlshow
-?, --help | Справка |
-h, --host=[hostname] | Имя сервера |
-k, --key | Показать ключи для таблицы |
-p, --password=[password] | Пароль пользователя |
-u, --user=[username] | Имя пользователя |
-p, --port=[port] | Порт для связи |
-V, --version | Вывести информацию о версии |
Если ввести mysqlshow без аргументов, будут показаны все базы данных, если указать имя БД, будут показаны все таблицы в ней.
Команды
mysqlshow
mysqlshow mysql
Mysqldump
Программа mysqldump используется для создания дампа содержания базы данных MySQL. Она пишет инструкции SQL в стандартный вывод. Эти инструкции SQL могут быть переназначены в файл. Можно резервировать базу данных MySQL, используя mysqldump, но при этом Вы должны убедиться, что в этот момент с базой данных не выполняется никаких других действий. А то mysqldump Вам такого нарезервирует...
Программа mysqldump поддерживает следующие параметры (Вы можете использовать короткую или подробную версию):
Таблица 10 - Опции команды 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, чтобы копировать базу данных. ПРИМЕЧАНИЕ: Вы должны убедиться, что база данных не изменяется в это время, иначе Вы получите противоречивую копию!
Для справки:
mysqldump -u root -p mysql user>mysql-1.sqlmysqldump -u root mysql>mysql-2.sqlПримечание флаг –p используется в случае, если пользователь наделен паролем.
После выполнения этой команды у нас появился файл mysql-1.sql и mysql-2.sql. Загрузим их в текстовый редактор, чтобы поподробнее изучить, и, возможно, немного поправить.
Задание
Запустите сервер MySQL. Зарегистрируйте своего пользователя в консольном приложении, задайте ему права.
С помощью утилиты Mysqlshow выполните команду на просмотр структуры и состав таблиц базы Mysql. Приведите в отчете её схему. С помощью утилиты Mysqldump получите полный дамп базы Mysql (данные и таблицы), а также отдельные дампы таблиц и данных.
Контрольные вопросы:
1. Каким способом возможен запуск серверной части СУБД.
2. Что такое привилегия. Каково её предназначение.
3. Какие основные утилиты входят в состав СУБД, какие функции они выполняют.
Цель работы – приобретение студентами практических навыков создания логических и физических моделей данных с помощью CASE – средств разработки информационных систем.
Основные сведения
Система ERwin поддерживает прямое и обратное моделирование баз данных. При прямом моделировании схема базы данных описывается в прямом виде с использованием диаграммы сущность-связь. Сущности на диаграмме представляются прямоугольниками. Каждый прямоугольник может иметь различные визуальные атрибуты. Каждой сущности должно быть присвоено уникальное имя. Имена сущностей необходимо задавать в единственном числе. Это определяется тем, что система всегда оперирует отдельными экземплярами сущности. При этом отдельные экземпляры сущности рассматриваются как объекты, а сущности – как класс объектов. Если сущности были описаны при моделировании в BPwin, то их можно просто импортировать в ERwin. Пример диаграммы с созданными сущностями приведен на рисунке.
Рисунок 4 - Пример диаграммы с созданными сущностями
Построение моделей в ERwin
Возможны две точки зрения на информационную модель и, соответственно, два уровня модели. Первый - логический уровень (точка зрения пользователя) означает прямое отображение фактов из реальной жизни. Например, люди, столы, отделы, собаки и компьютеры являются реальными объектами. Они именуются на естественном языке, с любыми разделителями слов (пробелы, запятые и т.д.). На физическом уровне модели рассматривается использование конкретной СУБД, определяются типы данных (например, целое или вещественное число), индексы для таблиц.
ERwin предоставляет возможности создавать и управлять этими двумя различными уровнями представления одной диаграммы (модели), равно как и иметь много вариантов отображения на каждом уровне. Термин "логический уровень" в ERwin соответствует концептуальной модели.
Этапы построения информационной модели.
Erwin создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться для детального анализа, уточнения и распространения документации, необходимой в цикле разработки. Однако ERwin далеко не только инструмент для рисования. ERwin автоматически создает базу данных (таблицы, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными).