- •Назначение и общие характеристики MySql
- •Типы данных в таблицах MySql
- •Основные вопросы настройки MySql
- •Сеанс работы с базой данных в MySql
- •Операторы, возвращающие информацию о сервере и базах данных.
- •Числовые типы данных в MySql
- •Числовые функции в MySql
- •Типы данных даты и времени в MySql
- •Символьные типы данных в MySql
- •Запросы на создание баз данных и таблиц.
- •Функции даты и времени в MySql
- •Символьные функции в MySql
- •Принципы хранения данных в MySql (myisam)
- •Общие принципы организации разграничения прав доступа пользователей в MySql.
- •Задание прав глобального уровня.
- •Задание прав уровня базы данных.
- •Задание прав уровня таблицы.
- •Задание прав уровня столбца.
- •Команды grant и revoke.
- •Интерфейсы пользователя, возможные при использовании MySql.
- •Язык php. Назначение, общий синтаксис.
- •Принципы работы web-сервера с разборщиком php.
- •Переменные в php.
- •Основные алгоритмические структуры в php.
- •Основные функции в php для работы с MySql.
- •Выборка из таблиц и вывод данных при использовании php и mysql.
Задание прав уровня базы данных.
Таблица mysql.db
Применяется для всех объектов указанной БД
• Host: CHAR (60) Строка '%' означает - при доступе с любого хоста. Пустое поле означает необходимость посмотреть в таблицу host.
• DB: CHAR (64) '%' или пустое поле означает - любая БД.
• User: CHAR (16) Пустое поле - анонимный пользователь.
Привилегии: enum('N','Y'), по умолчанию - 'N'
• select - выборка из строк таблицы
• insert - вставка строки в таблицу
• update - изменение строки таблицы
• delete - удаление строки таблицы
• create - создавать БД/таблицу
• drop - удалять БД/таблицу
• grant – разрешает передавать свои привилегии другим
• index - создавать/удалять индексы таблицы
• alter - изменять формат таблицы, в том числе переименовать ее, что позволяет обмануть систему прав доступа
Вспомогательная таблица mysql.host
Используется совместно с таблицей db в том случае, если пользователю разрешен доступ с нескольких компов. Обычно эта таблица не используется
• Host: CHAR(60),PRI. '%' или пустое поле означает - любой хост.
• DB: CHAR(64),PRI. '%' или пустое поле означает - любая БД. Поля привилегий те же что в БД
Задание прав уровня таблицы.
Таблица mysql.tables_priv
• Host: CHAR (60). '%' или пустое поле означает - любой хост.
• DB: CHAR (60).Не м.б. пустым или содержать шаблоны.
• User: CHAR (16). Пустое поле - анонимный пользователь.
• Table_name: CHAR(60). Не м.б. пустым или содержать шаблоны. Хранит имя табли-цы
• Grantor: CHAR(77). Пользователь, предоставивший привилегии
• Timestamp: timestamp(14). Время предоставления привилегий
• Table_priv: set('Select','Insert','Update','Delete','Create','Drop','Grant','References','Index','Alter')
• Column_priv: set('Select','Insert','Update','References')
//select - выборка из строк таблицы
//insert - вставка строки в таблицу
//update - изменение строки таблицы
Задание прав уровня столбца.
Таблица mysql.columns_priv
Host: CHAR (60). '%' или пустое поле означает - любой хост.
DB: CHAR (60). Не м.б. пустым или содержать шаблоны.
User: CHAR (16). Пустое поле - анонимный пользователь.
Table_name: CHAR (60). Не м.б. пустым или содержать шаблоны.
Column_name: CHAR (60). Не м.б. пустым или содержать шаблоны.
Timestamp: timestamp(14)время предоставления привилегий
Column_priv: set('Select','Insert','Update','References')
//select - выборка из строк таблицы
//insert - вставка строки в таблицу
//update - изменение строки таблицы
Команды grant и revoke.
В стандарте SQL определены два оператора: GRANT и REVOKE соответственно для предоставления и отмены привилегий.
Оператор предоставления привилегий имеет следующий формат:
GRANT priv[<column_list>] ON ([tab|*|*.*|db.*]) ТО user [Identified by password]
Priv – привилегия которая предоставляется: Select, Insert, Update, References и т.д.
column_list – список столбец,если привелегия уровня столбца.
Tab – имя таблицы, * – все таблицы, *.* – все таблицы всех БД, db – имя БД.
User – имя пользователя которому предоставляются привилегии, должно содержать имя хоста.
Password – пароль, который установлен данному пользователю.
Для отмены ранее назначенных привилегий в стандарте SQL определен оператор REVOKE. Оператор отмены привилегий имеет следующий синтаксис:
REVOKE priv ON ([tab|*|*.*|db.*]) FROM user
ALL – Все привелегии.
USAGE – не дает никаких привелегий, но пользователь заводится.
