[описание MySQL Essential и утилиты Instance Config Wizard]материал подготовил: Александр Лозовюк 05.07.2005
Традиционно, сервер баз данных MySQL был предназначен для установки на серверы и использовался только профессиональными администраторами — они устанавливали его на стороне хостинг-провайдера, а все разработчики получали доступ к базам через интерфейсы своего языка программирования. Конечно, для локальной установки MySQL был доступен всем — но это был всего лишь обычный архив с инсталлятором, вся работа которого заключалась в распаковке файлов в корневую директорию диска С. Настройка же базы данных — операция очень кропотливая и требующая знания всех нюансов сервера, производилась путем ручного редактирования конфигурационных файлов или же при помощи опций командной строки при запуске сервера. Конечно, для профессиональных разработчиков это было обычным явлением и они не чувствовали дискомфорта, к тому же это с лихвой окупалось выдающимися параметрами сервера (скоростью, устойчивостью, простотой). Но сейчас роль MySQL немного изменилась, претендуя на широкое применение в сфере малого бизнеса и корпоративной среде. Следовало обзавестись удобными инструментами для настройки, тем более что все конкуренты давно уже имеют подобный инструментарий.
Сейчас в арсенале MySQL есть мощный графический менеджер-настройщик MySQL Administrator, который может управлять работой сервера, показывает состояние сервера, анализирует логи и т. д. Но требовалось что-то другое, какое-то решение, чтобы пользователь, впервые попробовавший установить сервер, сразу получил бы готовую систему, причем с максимальным комфортом. Актуально это в первую очередь для платформы win32, так как большинство пользователей избалованы (да и просто привыкли) к красивым интерфейсам установщиков. И такое решение нашлось — специально для платформы Windows доступна версия сервера MySQL Essential. Сам по себе сервер MySQL в этой версии ничем не отличается, основное кроется в «обертке» — инсталляторе. Инсталлятор теперь стандартный для Windows — MSI, а вот дальше… А дальше, после обычной распаковки и установки программы, начинается самое «вкусное». Последним этапом инсталлятор запускает новую утилиту, входящую в дистрибутив, — MySQL Server Instance Config Wizard.
Но давайте по порядку. Скачав с одного из многочисленных зеркал сервера mysql.com инсталляционный пакет (для текущей стабильной версии 4.1 он, скорее всего, имеет название mysql-essential-4.1.12-win32.msi и размер примерно 14 Мб), запускаем его и приступаем к установке. Доступны три режима установки — типичный (Typical), полный (Complate) и выборочный (Custom. Рекомендую все же выбрать Custom и хоть бы ознакомиться с перечнем устанавливаемого ПО — кроме самого сервера туда входят еще и клиентский терминал, служебные утилиты для проверки и администрирования, а также тот самый Instance Config, из-за которого все это и затевалось. Инсталлировать заголовочные файлы и библиотеки, думаю, пока нет надобности, ведь мы будем использовать сервер для веб-разработок.
Кстати, теперь изменился и каталог, куда устанавливаются все программы от MySQL AB. раньше стандартным каталогом был «c:\mysql», теперь, как и «все нормальные программы», все перенесено в «C:\Program Files\MySQL\». Вы можете параллельно использовать разные версии серверов (например, 4.1 и 5.0 для экспериментов) — инсталлятор корректно все расставит по своим каталогам, все дополнительные утилиты будут установлены в свои каталоги, так что все ваше «серверное хозяйство» будет компактно размещено в одной директории.
После нескольких минут распаковки и копирования файлов сервер будет установлен, но на этом все не заканчивается. Первым шагом после установки будет подключение к аккаунту на Mysql.com — если вы уже зарегистрированы там, просто введите свои данные, если нет — можно тут же создать новую учетную запись. Это займет всего пару минут и даст возможность получать уведомления об обновлении сервера, о подписке на рассылку MySQL Newsletter и о многом другом. После этого шага (который можно и пропустить, он необязателен) вам будет предложено запустить мастер настройки Instance
Config Wizard.
Есть два варианта конфигурирования — стандартный и детальный, предназначенный для более опытных пользователей и позволяющий сделать наиболее оптимальные настройки вашего сервера. Далее мы будем использовать именно детальный режим.
Следующим шагом идет выбор назначения сервера. Это может быть машина разработчика или Developer Machine (то есть сервер используется для отладки и тестирования, а значит, параллельно будут работать другие программы и, возможно, даже разные версии серверов, поэтому требования к ресурсам минимальные). Вариант Server Machine подходит для рабочей базы данных, которая запускается, например, на веб-сервере или сервере приложений. На том же компьютере будут работать и другие серверы (веб-сервер), но от MySQL уже требуется повышенная производительность и устойчивость, соответственно и аппаратные ресурсы в таком варианте более значительные (в основном это относится к памяти). Есть вариант и выделенного сервера для работы базы данных — Dedicated MySQL Server Machine, в таком случае все ресурсы сервера отдаются в монопольное использование MySQL и такая инсталляция будет обладать наибольшим быстродействием. Обычно лучше всего выбирать первый или второй вариант — если у вас мощный компьютер, то можно для разработки выбрать и Server Machine, это позволит комфортнее тестировать ваши веб-приложения. Обычно же лучше всего выбрать вариант Developer Machine.
Вариант Developer Machine — самый оптимальный
Далее необходимо выбрать тип базы данных. Вариантов снова три:
Multifunctional — этот тип базы наиболее универсальный из всех. MySQL поддерживает как обычные таблицы (нескольких форматов), так и таблицы, в которых есть механизм транзакций. Такой сервер специально оптимизирован под два типа таблиц — MyISAM является наиболее быстрой и надежной реализацией обычных таблиц, а формат InnoDB поддерживает транзакции. Вопрос выбора типа таблиц (или Storage Engine в терминологии MySQL) сам по себе очень сложен и не тривиален. Надеемся в следующих статьях его осветить более подробно.
Transaction Only — основным хранилищем данных в таком варианте является таблица формата InnoDB. Этот вариант требует больше ресурсов сервера (места на диске, скорости дисковой подсистемы и оперативной памяти), поэтому если вы не уверены, что транзакции вам необходимы, лучше выбрать первый вариант — пусть не так быстро, зато универсально.
Non-transaction Only — все таблицы создаются только в формате MyISAM, который не поддерживает транзакций, но для обычных SQL-запросов и данных показывает наибольшую скорость и надежность.
истина, как известно, где-то посередине, поэтому, скорее всего, для большинства применений вариант Multifunctional будет наиболее удобным, так как позволит параллельно использовать и транзакции, и обычные таблицы. Но если сервер готовится для реальной работы, а не для разработки, то лучше всего конфигурировать его именно под рабочие задачи, отключая все лишние опции.
Для транзакционных таблиц формата InnoDB необходимо указать дополнительно логический диск и путь до каталога, где сервер будет держать временные файлы и логи транзакций. Предупредим, что занимаемое ими место может быть существенным, поэтому лучше для серьезной работы выделить отдельный диск с достаточно свободным местом. Тип файловой системы также влияет на производительность, поэтому лучше всего располагать файлы на диске с NTFS. Удобный графический индикатор сразу покажет, сколько места есть и сколько свободно, рекомендовано иметь около 1 Гб свободного пространства (особенно если планируется серьезная работа с транзакциями).
Multifunctional — и обычные таблицы, и транзакции!