СЕРВЕР БД MYSQL Тема 1. История создания, версии, основные характеристики Цель темы – познакомиться с наиболее популярным сервером баз данных, используемым в создании систем управления контентом 1. Текущее состояние, поддержка, информационные ресурсы, связанные с сервером. 2. Особенности реализации SQL 3. PHPMyAdmin- структура, интерфейс, возможности 1 MySQL MySQL очень быстрый, многопоточный, многопользовательский и поддерживающий SQL (Structured Query Language) сервер баз данных. MySQL является free software. Он лицензируется по GNU GENERAL PUBLIC LICENSE http://www.gnu.org. ОСНОВНЫЕ ХАРАКТЕРИСТИКИ 1. обеспечивает максимально быстрый доступ к данным 2. работает как многопотоковая система Система написана на C и C++ AIX,платформа: BSDI, DECSolaris Unix, 2.7Базовая FreeBSD, HP-UX, Linux 2.8, SuSE Linux 7.1 2.0, Mac OS X, NetBSD, OpenBSD, OS/2, SGI Irix, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Win9x, NT, Win2000. 3. многоплатформенность Имеет прикладной интерфейс практически для всех систем и языков программирования 4. доступность и открытый код программного обеспечения Таблицы организованы в виде B-Tree 3 ЛИЦЕНЗИРОВАНИЕ Владельцем продукта MySQL является фирма MYSQL AB MySQL - это ПО с открытым кодом лицензируется по GNU GENERAL PUBLIC LICENSE http://www.gnu.org Поддерживает стандарт SQL92 Работает с 6-ю типами таблиц •ISAM, •MyISAM, •InnoDB, (SQL2) •BerkeleyBD(BDB), •MERG, •HEAP История выпусков Первый внутренний выпуск MySQL состоялся 23 мая 1995 года; Версия для Windows систем (Windows 95 и NT) выпущена 8 января 1998; Версия 3.23: бета-версия в июне 2000, релиз в январе 2001; Версия 4.0: бета в августе 2002, релиз в марте 2003; Версия 4.1: бета в июне 2004, релиз в октябре 2004; Версия 5.0: бета в марте 2005, релиз в октябре 2005; Версия 5.1: разработка велась с ноября 2005, релиз в ноябре 2008; Версия 6.0: в разработке. Особенности таблиц типа Maria Maria представляет собой расширенную версию хранилища MyISAM, с добавлением средств сохранения целостности данных после краха. В случае краха производится откат результатов выполнения текущей операции или возврат в состояние до команды LOCK TABLES. Реализация через ведение лога операций; Возможность восстановления состояния из любой точки в логе операций, включая поддержку CREATE/DROP/RENAME/TRUNCATE. Может быть использовано для создания инкрементальных бэкапов, через периодическое копирование лог файла. Поддержка всех форматов столбцов MyISAM, расширена новым форматом "rows-in-block", использующим страничный механизм хранения данных, при котором данные в столбцах могут кэшироваться; Особенности таблиц типа Maria (продолжение) В будущем будет реализовано два режима: транзакционный и без отражения в логе транзакций, для не критичных данных. В Maria размер страницы данных равен 8Кб (в MyISAM 1Кб), что позволяет достичь более высокой производительности для индексов по полям фиксированного размера, но медленнее в случае индексирования ключей переменной длинны. Недостатки которые планируется устранить: неэффективная работа со столбцами, данные в которых занимают менее 25 байт; Maria 1.0 поддерживает один поток записи или много на чтение (в MyISAM - один на запись _и_ много на чтение (concurrent insert)); нет поддержки INSERT DELAYED. MySQL 6.0 Версия MySQL 6.0 пока находится в стадии альфа-тестирования. Первоначально было принято решение о создании версии 5.2, однако вскоре эта версия была переименована в 6.0. Одно из основных нововведений версии 6.0 — новый тип таблиц Falcon, разработанный компанией MySQL AB, в качестве потенциальной замены для InnoDB компании InnoBase, приобретённой компанией Oracle. Возможности MySQL является системой "клиент-сервер" DBMS MySQL УТИЛИТЫ АДМИНИСТРИРОВАНИЯ Собственный программа MySQL, которая работает под разными операционными системами, в том числе и под Windows Работа непосредственно с программой администрирования из командной строки PhpMyAdmin- web-интерфейс для администрирования MYSQL, написанный на PHP АДМИНИСТРИРОВАНИЕ СЕРВЕРА MYSQL На сервере MySQL существует несколько специальных системных таблиц, с помощью которых происходит управление сервером. Все системные таблицы находятся в специальной БД mysql. Данные обо всех пользователях и их правах по отношению к серверу хранятся в таблице user СТРУКТУРА СИСТЕМНОЙ БД MYSQL ТАБЛИЦА USER По умолчанию всегда присутствует пользователь root c пустым паролем, который является администратором сервера и обладает всеми правами Добавление нового пользователя сервера и назначение ему прав Сначала надо перейти в экран Для того, чтобы изменить управления всем сервером: привилегии существующим в левой колонке экрана выбрать пользователям надо нажать на (Базы данных) и ссылку Для того, чтобы добавить нового данную пиктограмму привилегии в правой части пользователя сервера надо экрана выбрать данную ссылку. Создание новой БД Ввести имя Нажать Создание таблиц Два способа: Интерактивно с использованием графического интерфейса phpMyAdmin С использованием операторов SQL create table. Создание таблиц в PHPMYADMIN Создание таблиц с использованием операторов языка SQL Задание имени таблицы Количество столбцов в таблице Допустимые типы данных Задание первичного ключа Указание на вхождение в Задание свойства первичный ключ автоинкрементности для числовых типов полей Выполнение SQL-скрипта Create table (ID Int autoincrement, Name_F varchar(30), description varchar(255) )