Базы данных: MySQL


Утилиты-администраторы сервера MySQL



  Автор:

  Источник: ,

Множество сайтов в настоящее время использует в качестве хранилища информации базу данных . Причин для такого выбора множество - MySQL всегда позиционировалась разработчиками как самая быстрая база (они открыто заявляли, что некоторые функции не будут реализованы, потому что отрицательно влияют на скорость обработки), работа с базой довольно простая - многие конструкции стандарта SQL не поддерживаются, поэтому изучить язык запросов можно довольно быстро. Что особенно важно - MySQL очень тесно интегрирована с популярными языками программирования для разработки веб-сайтов, в первую очередь, с PHP, где поддержка ее встроена в сам язык, так что для работы с БД не требуется каких-либо дополнительных библиотек или средств. И последний аргумент в выборе базы данных для построения сайта - распространение MySQL под open-source лицензией GPL, бесплатно для некоммерческого использования.

Теперь надо рассмотреть, кто же использует MySQL. Разработчики сайтов чаще используют программные интерфейсы - к, примеру РНР. Только для создания и редактирования таблиц и баз может понадобиться прямой доступ к базе, чаще всего в начальный период, когда сайт разрабатывается. Если сайт представляет собой сложную систему, может быть еще администратор базы данных, который следит за целостностью и другими параметрами базы данных. И третья категория пользователей - это администраторы хостинговой компании. Они поддерживают работу множества серверов, при этом на одном сервере могут быть расположены тысячи баз данных.

Стандартно, MySQL поддерживает только один тип взаимодействия - через консоль (программа mysql). В интерактивном режиме через командную строку (локально или удаленно, через telnet) пользователь вводит запросы и получает ответы. Есть еще один путь - редактирование конфигурационных файлов, но таким образом можно только изначально настроить некоторые опции, при дальнейших изменениях надо перезагружать сервер, что не всегда возможно.

Для многих профессиональных администраторов взаимодействие через командную строку является самым естественным способом <общения>. Но упомянутое выше распространение MySQL привело к тому, что работать с сервером теперь надо и многим пользователям, которые отнюдь не профессионалы в администрировании. Поэтому появилась потребность в графических утилитах, которые бы предоставили удобный интерфейс для выполнения повседневных задач работы с базой данных и были бы интуитивно понятными для пользователей.

Наиболее распространенной такой утилитой является phpMyAdmin. Это набор скриптов, предназначенный для установки на сервер и реализованный на языке PHP. Этот скрипт весьма распространен на хостинговых площадках. Он позволяет производить все наиболее востребованные в повседневной работе операции над базами данных и таблицами - создание, редактирование, удаление, изменение типов полей, работа с индексами, - а также напрямую просматривать и редактировать данные в таблицах.

Кроме этого можно выполнять анализ таблиц и просматривать статистику сервера и отдельных баз данных. Анализ таблиц будет полезным на этапе разработки, для оптимизации структуры и повышения быстродействия. Несомненным достоинством этой утилиты является то, что она серверная, а значит, для работы с базой данных нужен лишь браузер (интерфейс очень нетребователен, и для работы подходит любой браузер - MS Internet Explorer, Mozilla Firebird, Opera) и логин/пароль пользователя. К недостаткам (скорее, ограничениям) относится то, что утилита предназначена именно для работы с базами и таблицами, не предоставляя многих опций для работы с самим сервером MySQL. Этого достаточно для работы с базами, но для администрирования собственного сервера недостаточно.

Сама компания-разработчик MySQL AB выпустила несколько различных программ для работы с сервером. Например, в стандартный дистрибутив MySQL (по крайней мере, для платформы Windows) входит утилита WinMysqlAdmin.

WinMysqlAdmin входит в стандартную поставку MySQL

В основном, утилита предназначена для управления запуском, остановкой и перезагрузкой сервера, предоставления статистической информации о сервере, текущем режиме работы и использовании системных ресурсов, а также для редактирования и просмотра конфигурационных файлов и системных переменных. Редактировать, правда, можно только файл my.ini, системные переменные доступны лишь для просмотра. Также можно просмотреть все базы данных и таблицы, включая информацию о полях для каждой таблицы. Полезной функцией является создание отчета, в котором содержатся все текущие настройки сервера, системные переменные и отчет о текущей работе и платформе, где запущен сервер. Утилита WinMySQLAdmin больше служит для предоставления информации о текущих параметрах сервера, чем для работ по администрированию.

Кроме этой утилиты, в дистрибутив входит еще одна - MySQLManager. Это утилита уже совсем другого класса - она предназначена для интерактивного выполнения запросов к базе данных, практически не предоставляя никаких других средств для настройки или оптимизации сервера.

MySQL Manager

Все описанные выше средства помогают решить какую-то одну, частную проблему, будь то администрирование, получение статистики или удобная среда выполнения запросов. Но профессиональным пользователям требуется более мощное средство, пригодное для обслуживания нескольких серверов, позволяющее тонко настроить все параметры работы сервера и следить за ним. Таким средством стала утилита MySQL Administrator, которая была выпущена компанией MySQL AB несколько месяцев назад. Сейчас утилита имеет статус бета-версии, но почти все функции уже реализованы и достаточно стабильны.

Основным козырем утилиты является, кроме интерфейса, пожалуй, наибольшее количество настроек, поддающихся изменению. Ведь сервер MySQL - это довольно большой программный комплекс, который использует около сотни разных переменных и опций, влияющих как на общую работу сервера, так и на работу с отдельными типами таблиц и баз данных. Все настройки собраны в один раздел - <Startup Variables>. Кроме базовых настроек - таких, как поддержка сетевых соединений, настройка портов, пути к служебным каталогам, использование оперативной памяти, - раздельно можно настроить опции для различных поддерживаемых типов таблиц (MyISAM, InnoDB), для увеличения производительности есть настройки кеширования, для работы с несколькими серверами есть настройки репликации. Вкладка <Advanced> позволяет очень тонко настроить работу сервера, а в случае с некоторыми опциями традиционным путем - при помощи командной строки - это сделать очень трудно. На отдельных вкладках сгруппированы настройки безопасности и сетевые возможности. Как некоторый недочет хотелось бы упомянуть очень небольшое количество настроек безопасности - ведь при серьезной работе в составе коммерческих приложений безопасности уделяется повышенное внимание.

Для администраторов есть удобный интуитивный интерфейс для работы с пользователями. Теперь очень просто разграничивать доступ к базам, отдельным таблицам и полям. Появились очень удобные (и нужные!) функции Backup/Restore, предназначенные для резервирования и восстановления информации из баз данных, для этого есть даже встроенный планировщик задач. Появились мощные средства мониторинга использования системных ресурсов в реальном времени, причем использование памяти вынесено на отдельную вкладку, так как это - единственное узкое место при наращивании производительности. Теперь можно не только просматривать текущие системные переменные, сгруппированные по области применения, но и изменять их, чего не хватало утилите WinMysqlAdmin. Кроме этого, для каждой опции предусмотрено краткое описание ее назначения - для непрофессиональных администраторов это очень полезно.

Утилита может работать как с локально установленным сервером, так и подключаться к удаленному серверу, одновременно можно работать с неограниченным количеством серверов - для каждого из них будет запущена отдельная копия приложения.

Для пользователей, которым не надо настраивать свой персональный сервер MySQL, а только работать с базами и таблицами, будет вполне достаточно серверного варианта - phpMyAdmin, и именно эта утилита стоит почти на каждом хостинге. Для администрирования своего сервера, если речь идет о выделенном хостинге или о применении в самой хостинговой компании, наилучшим выбором будет MySQL Administrator - очень широкий набор функций, направленных именно на настройку, администрирование и оптимизацию работы множества серверов. Но для ее эффективного использования надо обладать широкими знаниями особенностей работы MySQL. Приятный и интуитивный интерфейс облегчает постоянную работу, а возможность работы с удаленными серверами позволяет администратору управлять всем прямо со своей рабочей станции. В настоящее время MySQL Administrator среди всех утилит, выпущенных MySQL AB, является самой мощной и функционально насыщенной.







При перепечатке любого материала с сайта, видимая ссылка на источник www.warayg.narod.ru и все имена, ссылки авторов обязательны.

© 2005