MySQL Administrator - рулить СУБД легко
Сервер баз данных MySQL уже давно пользуется заслуженной
популярностью у разработчиков веб-приложений. Потом, когда вышли
последние версии сред разработки фирмы Borland - Delphi 6/7, Kylix
2/3 и другие, где появились компоненты для работы с MySQL, ее начали
применять и в традиционных, desktop или клиент-серверных
разработках.
MySQL ориентирована в первую очередь на управление с помощью
командной стороки или файлов конфигурации, и все настройки и
операции приходилось исполнять через консоль или telnet, если сервер
был установлен на удаленном компьютере. Потом в поставку начали
входить две графические утилиты: MySqlManager и WinMySQLAdmin.
MySqlManager - это простейшая графическая утилита для работы с
таблицами БД. Все базы, таблицы и поля отображаются в виде
древовидного списка, но нет никаких средств удобного просмотра
содержимого таблиц или изменения свойств полей. Для всех операций
предусмотрено только интерактивное окно работы с SQL запросами
(причем оно, видимо, "живет" своей жизнью: в контекстном меню для
каждой БД есть команда "SQL query", которая вызывает окно запроса,
но всегда в теле SQL надо прописывать базу и таблицу, к которой
обращаемся). Для сколь либо серьезной работы эта утилита совершенно
непригодна.
WinMySQLAdmin относится к другому классу утилит – это средство
для администрирования сервера. Программа отображает сведения о
работе сервера, время работы, переменные среды, список доступных баз
данных и таблиц (без возможности редактирования или просмотра), а
также позволяет перезапускать сервер. На отдельную вкладку вынесены
настройки производительнсти и редактирования конфигурационного файла
my.ini: в дистрибутив входит несколько сборок сервера и можно
выбрать наиболее быстродействующую (mysqld-opt, mysqld-nt,
mysqld-max, mysqld -max-nt). Программа при закрытии главного
окна скрывается в systray, а наиболее частые операции с сервером
(перезагрузка/запуск/остановка) можно выполнить через контекстное
меню. Иконка в виде светофора показывает текущее состояние сервера –
красный (остановлен), зеленый (работает) или желтый (процесс
загрузки/остановки).
Еще есть утилита MySQL Control Center (текущая версия 0.9.4
beta), которая не входит в поставку СУБД. Она предназначена как раз
для администрирования – управления пользователями и правами доступа,
а также позволяет сделать ряд глобальных операций над сервером,
вроде просмотра переменных, текущих подключений и статистики по
каждой базе. Но следует отметить, что MDI-интерфейс не удобен для
повседневной работы, да и функциональности недостаточно.
Этих утилит не хватало для полноценной работы с сервером, поэтому
пользователи чаще всего использовали средства других разработчиков.
Так, для администрирования и работы с БД через Web наиболее
популярным инструментом стал набор PHP скриптов PHPMyAdmin. Но это
довольно узкое решение, так как для работы необходм веб-сервер с
поддержкой PHP и не все операции по администрированию именно
сервера, а не отдельных баз данных, можно делать через
веб-интерфейс.
Вряд ли я ошибусь, когда скажу, что пользователи MySQL с
нетерпением ждали, когда же компания выпустит собственную утилиту
для полноценного администрирования СУБД. Недавно такая программа
была анонсирована, а сейчас вышел первый релиз. Итак, встречайте -
MySQL Administrator!
Утилита предназначена для администрирования сервера, а также
может выполнять операции резервного копирования и востановления
информации (как над отдельными, так и над всеми базами, причем есть
встроеный планировщик заданий). Кроме СУБД MySQL поддерживается
Oracle или другие БД через ODBC (не проверялось, но понятно, что в
таком случае будут отключены все возможности, специфические именно
для MySQL, да и программа разрабатывалась главным образом для MySQL,
а все остальное – как бесплатный довесок).
Основные функции утилиты сгруппированы в 11 пунктов графического
меню в стиле MS Windows 2003. К слову, утилита
распространяется на правах OpenSorce GPL и доступна для
платформы Win32 и Linux как в бинарном виде, так и в исходных кодах.
Текущая версия 1.0.1 alpha работает довольно стабильно, хотя есть
некоторые недочеты в интерфейсной части и часть функций не
реализована (только интерфейсная часть).
Далее мы остановимся на каждом разделе меню и опишем главные
функции программы.
Server Information
Первый пункт стандартен – Server Information.
Здесь можно посмотреть на какой платформе запущен сервер, хост/порт,
текущий аккаунт пользователя, IP, операционную систему, процессор и
размер доступной памяти. Тут же показывается текущий статус сервера
– работает или остановлен.
Service Control
Позволяет запустить или перезапустить сервер, просмотреть лог
загрузки. Вторая вкладка позволяет настроить основные параметры –
пути к файлу конфигурации, директории с бинарными файлами и
настроить сервер для поддержки специфических расширений (например,
таблиц формата InnoDB с поддержкой транзакций или использования для
работы именованных каналов). Оказалось, что в разных версиях
сервера (mysqld-opt, mysqld-nt, mysqld-max, mysqld-max-nt), кроме
различий в производительности, еще и по-разному реализована
поддержка расширений (таблицы InnoDB поддерживаются в mysqld-opt, но
не поддерживаются в стандартном mysqld).
Startup Variables
Этот раздел позволяет настроить множество тонких опций,
влияющих на производительность сервера. Кроме базовых настроек
(поддержка сетевых соединений, настройка портов, пути к служебным
каталогам, настройка работы с памятью), отдельно можно настроить
опции для различных типов таблиц (MyISAM, InnoDB). Для увеличения
производительности есть настройки кеширования, для работы с
несколькими серверами есть настройки репликации. Вкладка
Advanced позволяет очень тонко настроить работу сервера, а
некоторые опции я даже не нашел как настроить традиционным путем при
помощи командной строки. На отдельных вкладках сгруппированы
настройки безопасности и сетевые возможности. Как некоторый недочет
- очень небольшое количество настроек безопасности, а ведь при
серьезной работе в коммерческих приложениях безопасности
уделяется повышенное внимание.
Server Connections
В этом меню можно просмотреть все текущие подключения
клиентов к серверу и при необходимости завершить любое из них.
User Administration
Позволяет настроить привилегии для каждого пользователя и
оперативно управлять ими (раньше для этого надо было вручную править
служебные таблицы MySQL с помощью SQL запросов).
Автор разрабатывал однажды корпоративную систему, где в качестве
основного сервера была задействована СУБД MySQL. Тогда приходилось
писать свои утилиты для управления пользователями, и для
администратора это выливалось в дополнительные проблемы. При
использовании MySQL Administrator все операции над пользователями
проходят в графическом режиме и в любое время за считанные секунды
можно настроить привелегии для любого пользователя или базы данных.
Я считаю, что эта функция одна из самых полезных и придется по вкусу
администраторам и разработчикам.
Health
Меню Health чисто информационное и позволяет отслеживать
производительность сервера в реальном времени, расход памяти и
сетевой траффик, а также показывает статистику по типам запросов и
эффективность задействования ключей. Эти возможности можно
использовать, чтобы наблюдать изменения в работе сервера при
изменении настроек, тестировать их влияние на производительность и
таким образом постепенно настроить сервер на максимум для
конкретного круга задач.
Server Logs
Показывает стандартные логи сервера – общий лог и записи об
ошибках.
Вот самое интересное и полезное - это реализованные функции
резервирования и востановления БД. Реализован удобный планировщик, и
теперь можно делать раздельное резервирование отдельных БД и таблиц
– одни БД один раз в сутки, другие в конце недели и т.д. Опции
резервирования также гибко настраиваются – для этого есть вкладка
Advanced Options. Пока для резервирования доступен лишь
один формат - простой текстовый файл с SQL запросами, без
сжатия и т.д. Но будем надеяться, что в следующих версиях будет хоть
какой-то алгоритм сжатия.
К сожалению, вся вкладка Schedule пока неактивна –
видимо, разработчики еще не до конца протестировали эту возможность.
Все-таки, этот релиз обозначен как альфа. В любом случае, путь, по
которому пошли разработчики не может не радовать – наконец СУБД
MySQL обзаводится мощными средствами конфигурирования и настройки и
теперь ее можно применять и в корпоративных приложениях, а не только
в Web-проектах.
При востановлении из резервной копии также можно выбрать
отдельные таблицы и базы данных, которые подлежат восстановлению.
Replication Status
Функция Replication Status скорее всего еще до конца не
реализована, присутствует только вкладка Server
Information. Для реализации и настройки репликации надо перейти
на вкладку Replication раздела Startup variables,
где можно детально настроить параметры репликации.
Catalogs
Последний раздел дает доступ к отдельным базам и таблицам,
позволяет осуществлять операции оптимизации, проверки и
востановления таблиц, а также показывает сведения об индексах и их
параметрах, а также пользователей, которые имеют доступ к конкретной
базе или таблице.
В целом, MySQL Administrator способна обеспечить все
потребности администратора или разработчика, как по управлению
пользователями, так и по тонкой настройке производительности,
анализе работы сервера, и может служить инструментом для
резервирования и репликации баз данных. Для полноценного
использования, думаю, еще надо подождать следующего релиза, где
будут исправлены все недочеты и увеличена функциональность (в
основном это касается функций резервирования).
Распространение такого мощного средства на условиях
OpenSource будет способствовать продвижению СУБД и теперь можно
ожидать, что появятся вполне серьезные разработки корпоративного
масшатаба, основанные на MySQL. Тем более, что уже появилась новая
версия сервера – 5.0 alpha где, помимо всего прочего, обещают
поддержку хранимых процедур. Остается ждать первого официального
стабильного релиза (пока есть только alpha версия для
разработчиков).
Ссылки
http://www.mysql.com/ - официальный сайт MySQL
AB.
http://www.mysql.com/downloads/administrator.html
- тут можно скачать последнюю версию MySQL Administrator.
http://www.mysql.com/products/administrator/faq.html
- список часто задаваемых вопросов по MySQL Administrator.
http://www.mysql.com/products/mysqlcc/index.html -
утилита MySQL Control Center.
Автор: Александр Лозовюк
Источник: www.cpp.com.ua
|