Система управления базами данных (СУБД) MySQL Что такое MySQL? MySQL разработал Михаэль Видениус (Michael Widenius). MySQL является относительно небольшой и быстрой реляционной СУБД основанной на традициях Hughes Technologies Mini SQL (mSQL). Чем хорош MySQL? Перечислю основные приятные стороны пакета MySQL. Многопоточность. Поддержка нескольких одновременных запросов. Оптимизация связей с присоединением многих данных за один проход. Записи фиксированной и переменной длины. ODBC драйвер в комплекте с исходником Гибкая система привилегий и паролей. До 16 ключей в таблице. Каждый ключ может иметь до 15 полей. Поддержка ключевых полей и специальных полей в операторе CREATE. Поддержка чисел длинной от 1 до 4 байт (ints, float, double, fixed), строк переменной длины и меток времени. Интерфейс с языками C и perl. Основанная на потоках, быстрая система памяти. Утилита проверки и ремонта таблицы ( isamchk). Все данные хранятся в формате ISO8859_1. Псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице. Легкость управления таблицей, включая добавление и удаление ключей и полей. Множество сайтов в настоящее время использует в качестве хранилища информации базу данных MySQL. Причин для такого выбора множество - MySQL всегда позиционировалась разработчиками как самая быстрая база, работа с базой довольно простая - многие конструкции стандарта SQL не поддерживаются, поэтому изучить язык запросов можно довольно быстро. Что особенно важно - MySQL очень тесно интегрирована с популярными языками программирования для разработки вебсайтов, в первую очередь, с PHP, где поддержка ее встроена в сам язык, так что для работы с БД не требуется каких-либо дополнительных библиотек или средств. И последний аргумент в выборе базы данных для построения сайта - распространение MySQL под open-source лицензией GPL, бесплатно для некоммерческого использования. Наиболее распространенной такой утилитой является phpMyAdmin. Это набор скриптов, предназначенный для установки на сервер и реализованный на языке PHP. Она позволяет производить все наиболее востребованные в повседневной работе операции над базами данных и таблицами - создание, редактирование, удаление, изменение типов полей, работа с индексами, - а также напрямую просматривать и редактировать данные в таблицах. В основном, утилита предназначена для управления запуском, остановкой и перезагрузкой сервера, предоставления статистической информации о сервере, текущем режиме работы и использовании системных ресурсов, а также для редактирования и просмотра конфигурационных файлов и системных переменных. Редактировать, правда, можно только файл my.ini, системные переменные доступны лишь для просмотра. Также можно просмотреть все базы данных и таблицы, включая информацию о полях для каждой таблицы. Полезной функцией является создание отчета, в котором содержатся все текущие настройки сервера, системные переменные и отчет о текущей работе и платформе, где запущен сервер. Утилита WinMySQLAdmin служит для предоставления информации о текущих параметрах сервера. Кроме этой утилиты, в дистрибутив входит еще одна MySQLManager. Это утилита уже совсем другого класса - она предназначена для интерактивного выполнения запросов к базе данных, практически не предоставляя никаких других средств для настройки или оптимизации сервера. Основным преимуществом утилиты, является большое количество настроек, поддающихся изменению. Ведь сервер MySQL - это довольно большой программный комплекс, который использует около сотни разных переменных и опций, влияющих как на общую работу сервера, так и на работу с отдельными типами таблиц и баз данных. Все настройки собраны в один раздел - <Startup Variables>. Кроме базовых настроек - таких, как поддержка сетевых соединений, настройка портов, пути к служебным каталогам, использование оперативной памяти, - раздельно можно настроить опции для различных поддерживаемых типов таблиц (MyISAM, InnoDB), для увеличения производительности есть настройки кеширования, для работы с несколькими серверами есть настройки репликации. Вкладка <Advanced> позволяет очень тонко настроить работу сервера, а в случае с некоторыми опциями традиционным путем - при помощи командной строки - это сделать очень трудно. На отдельных вкладках сгруппированы настройки безопасности и сетевые возможности. Как некоторый недочет хотелось бы упомянуть очень небольшое количество настроек безопасности - ведь при серьезной работе в составе коммерческих приложений безопасности уделяется повышенное внимание. Для администраторов есть удобный интуитивный интерфейс для работы с пользователями. Теперь очень просто разграничивать доступ к базам, отдельным таблицам и полям. Появились очень удобные (и нужные!) функции Backup/Restore, предназначенные для резервирования и восстановления информации из баз данных, для этого есть даже встроенный планировщик задач. Появились мощные средства мониторинга использования системных ресурсов в реальном времени, причем использование памяти вынесено на отдельную вкладку, так как это - единственное узкое место при наращивании производительности. Теперь можно не только просматривать текущие системные переменные, сгруппированные по области применения, но и изменять их, чего не хватало утилите WinMysqlAdmin. Кроме этого, для каждой опции предусмотрено краткое описание ее назначения - для непрофессиональных администраторов это очень полезно. Приятный и интуитивный интерфейс облегчает постоянную работу, а возможность работы с удаленными серверами позволяет администратору управлять всем прямо со своей рабочей станции. В настоящее время MySQL Administrator среди всех утилит, выпущенных MySQL AB, является самой мощной и функционально насыщенной.