Каталоги и файлы сервера MySQL
описание файлов и каталогов базы данных MySQL
|
Для создания динамических веб-сайтов разработчики часто создают свой собственный веб-сервер, устанавливая все необходимое программное обеспечение на рабочем компьютере. Кончено, иметь для сервера компьютер под управлением Linux — наилучшее решение, но в большинстве случаев приходится использовать Windows. Из всех необходимых для работы сайта приложений наиболее сложным и большим является сервер баз данных MySQL. Начинающим пользователям он может показаться сложным в освоении (только процесс установки простой, в дистрибутиве есть графический инсталлятор). Хотя инсталляция по умолчанию гарантирует работу сервера, для достижения наибольшей производительности или для выполнения административных действий необходимо ориентироваться в назначении всех каталогов и файлов приложения. Это будет полезно также, если надо экономить место — только что установленный сервер MySQL занимает 51 Мб места, но, к примеру, максимально облегченный и настроенный на наибольшее быстродействие он вполне может поместиться в 5 с небольшим мегабайт. Самый лучший пример — система "Денвер" (http://web.dklab.ru), где в объем архива 2,5 Мб уместились все необходимые приложения — Apache, MySQL, PHP и Perl.
Сейчас мы познакомимся с описанием структуры каталогов и назначением различных файлов сервера MySQL. В различных версиях каталоги различаются, поэтому мы будем рассматривать промежуточную версию — 4.1, в более ранних версиях просто отсутствуют некоторые каталоги, а версии выше 4.1 — еще в стадии разработки, и их не советуют применять для реальной работы. Мы будем рассматривать версию для платформы Windows, так как она наиболее часто применяется для разработки и тестирования сайтов, на серверах хостинговых площадок, скорее всего, база данных уже стоит и настроена на максимальную производительность.
|
Когда около описания каталога или файла будет упоминаться, что он необязателен, это значит, что его можно удалить для сокращения объема установки без нарушения производительности. Но удаление отдельных каталогов и файлов может повлечь за собой удаление какой-либо функциональности из пакета, поэтому их надо удалять только в том случае, если вы точно знаете, что вам может понадобиться, а что нет.
MySQL устанавливается в один каталог — обычно это "с:\mysql', — но его можно произвольно изменить. Установка является самодостаточной в том смысле, что не копирует куда-либо еще файлы, помимо своего каталога, и ее можно просто скопировать в другое место — сервер сохранит свою работоспособность. Только my.ini копируется в общесистемный каталог "\". По сути, инсталлятор всего лишь распаковывает файлы в указанный каталог (с сайта MySQL AB можно скачать установку сервера без инсталлятора). После установки в каталоге «mysql» создается десять подкаталогов и один файл README.txt, в котором описываются общие сведения — куда и к кому обращаться за поддержкой, где располагаются файлы документации, и как отправлять сообщения об обнаруженных ошибках. Файл необязателен.
|
Каталог «bench» содержит набор скриптов и данных для выполнения теста производительности сервера и сравнения его с другими серверами. Тест универсальный и работает с различными СУБД. Тестируется выполнение различных операторов SQL — INSERT, UPDATE, CREATE, SELECT и других, тестовые данные хранятся в подкаталоге "bench\Data'. Для запуска теста нужно иметь установленный интерпретатор языка Perl. Более подробно о тестах и методе их запуска можно прочитать в файле README в каталоге «bench». Этот каталог и все подкаталоги не являются необходимыми для работы, они используются при разработке или сравнительных тестах, и их можно удалить.
Каталог «bin» — один из самых важных в дистрибутиве, в нем хранятся исполняемые модули самого сервера, клиентской части, а также утилиты и другие файлы. Рассмотрим назначение всех файлов.
Сервер mysql-max-nt самый функциональный и производительный
Набор из пяти файлов, начинающихся с mysqld* — это, собственно, и есть сам сервер MySQL, который принимает SQL-запросы, обрабатывает их и возвращает результат. В дистрибутив входят несколько версий сервера — mysqld, mysqld-max-nt, mysqld-max, mysql-nt и mysqld-opt, которые различаются по производительности. Для Windows 95/ME используется версия mysqld, для систем на базе Windows NT/2000/ХР/2003 рекомендуется использовать сервера с приставкой nt в названии — так можно задействовать эффективные механизмы межпроцессного взаимодействия, реализованные в этих операционных средах. Кроме того, от выбора сервера зависят и типы баз и таблиц, с которыми можно работать. К примеру, таблицы InnoDB (с поддержкой транзакций) работают только с сервером mysqld-opt, а таблицы BDB (BerkeleyDB, поддержка транзакций) с сервером mysqld-max. Если вам нужна поддержка транзакций, и сервер работает на Windows NТ или выше, универсальным решением будет mysqld-max-nt — так вы получите поддержку всех возможностей и максимальную производительность. Из этих файлов обязательным является какой-то один, поэтому после тестирования вы можете удалить остальные файлы.
WinMySQLAdmin — это простой графический менеджер базы данных, в поставку включен также справочный файл. Он удобен тем, что позволяет просмотреть текущие настройки и окружение сервера, а также выбирать тип сервера и вносить изменения в файл конфигурации my.ini. Если вы используете утилиту MySQL Administrator, эти файлы можно также удалить. MySQLManager — еще одна графическая утилита, предназначенная для работы с запросами к базам и таблицам. Необязательный файл.
Файл mysql.exe (заметьте, без буквы d в конце) — это консольный клиент для работы с сервером, который позволяет, вводя команды в консоли, удаленно работать с базами и таблицами, а также администрировать сервер. Впрочем, если вы работаете с удаленного компьютера, этот файл на сервере можно удалить.
Библиотека libmySQL.dll предназначена для обеспечения программного интерфейса (API) для различных программ, работающих напрямую с сервером MySQL. Для обеспечения работы ее желательно оставить, а еще лучше — скопировать в общедоступное место, к примеру, в каталог "WINNT\system32\".
Утилита mysqlshutdown.exe, судя по названию, должна отвечать за корректную остановку сервера, но в ней нет никаких меню или команд, только пустое окно. Спокойно можно удалить. Далее идет набор утилит, функциональность которых дублирует некоторые команды SQL: mysqlimport — аналог команды LOAD DATA — предназначена для загрузки в таблицы данных из файлов, а mysqlshow — аналог команды SHOW для просмотра информации о базах, таблицах и их свойствах. Также в дистрибутиве есть несколько служебных утилит, которые проверяют и устраняют ошибки в файлах таблиц (myisamchk.exe, mysqlcheck.exe), конвертируют файлы таблиц в специальный формат, доступных только для чтения, но занимающий меньше дискового пространства (pack_isam.exe), помогают администрировать сервер (mysqladmin.exe), создают дамп таблиц и целых баз для переноса или резервного копирования (mysqldump.exe) и работают с логами сервера (mysqlbinlog.exe, myisamlog.exe). Эти файлы не являются необходимыми для работы сервера, их можно удалить, достаточно оставить разве что mysqldump.exe и mysqlimport.exe для быстрой загрузки информации в базу и создания резервной копии. Эти утилиты работают из любой директории, поэтому их можно исключить из инсталляции.
В каталоге data хранятся базыи таблицы. База mysql — системная
Каталог «data» хранит базы и таблицы, с которыми работает MySQL. Необходимой для работы сервера является лишь одна база — «mysql». Каждый подкаталог — это отдельная база (имя каталога = имя базы данных), а файлы содержат информацию о структуре и данных в таблицах. Файлы *.FRM хранят структуру таблиц, *.MYD — данные таблиц, *.MYI — индексы таблиц. Имена файлов идентичны именам таблиц. Каталог «data» и подкаталог «mysql» со всеми файлами являются обязательными для работы, но при необходимости их можно перенести в любое другое место файловой системы, указав новое месторасположение опцией --datadir=/путь_к_каталогу_data. В каталоге "data\mysql\" обязательны файлы user.*, db.*, host.*, tables_priv.*, columns_priv.*, а func.* — только для версий сервера, поддерживающей определяемые пользователем процедуры. Звездочка означает, что файлов с такими именами должно бить три — с расширениями .FRM, .MYD и .MYI.
В только что установленном сервере присутствует также тестовая база test. Ее можно удалить.
|
Каталог «ibdata» создается, только если вы используете таблицы с поддержкой транзакций (InnoDB), и в нем хранятся журналы транзакций. Не удаляйте его, он создается автоматически, когда включается поддержка транзакций.
Каталог «Docs» содержит документацию в файлах manual.html (в формате HTML), manual.txt (в текстовом формате) и оглавление в файле manual_toc.html (так как сами файлы manual довольно большие), файл INSTALL-BINARY содержит руководство по установке, а также подкаталог «Flags» с изображениями флагов различных стран, языки которых (кодовые таблицы) поддерживаются сервером. Этот каталог можно удалить, на работу сервера он не влияет.
Каталог «Embedded» должен содержать сборку сервера, предназначенную для встраивания в другие программы, в доступных дистрибутивах он пуст (содержит несколько пустых подкаталогов), и его можно удалить.
Каталог «examples» содержит примеры программ, работающих с сервером. В подкаталоге «libmysqltest» содержится пример приложения на языке С, которое тестирует производительность сервера. Также для разработчиков предназначен и каталог «include», в котором содержатся заголовочные файлы. Можно удалять все эти каталоги, если вы не программируете на С.
Каталог «lib» содержит сборки необходимых библиотек для функционирования сервера и клиентских программ, а также утилит сторонних разработчиков. Подкаталог «debug» содержит отладочную версию библиотек, а «opt» — стабильную сборку. Этот каталог также больше ориентирован на разработчиков, так как другие программы используют версию библиотеки libmySQL.dll, размещенную в каталоге «bin». Если вы не разработчик, каталог можно удалить.
Каталог «scripts» содержит скрипты командной оболочки UNIX для выполнения разных административных действий — запуска сервера, остановки, инсталляции и других. Поскольку мы работаем с Windows-версией сервера MySQL, этот каталог также можно удалить.
|
И последний каталог — «share». В нем содержится целый набор подкаталогов, название каждого из них — название языка, который поддерживает сервер. В каждом подкаталоге находятся два файла: errmsg.sys и errmsg.txt, которые содержат описание сообщений об ошибках, выводимых сервером, на определенном языке. Например, в каталоге "share\russian\" содержатся сообщения об ошибках на русском, а в каталоге "share\english\" — на английском, который используется по умолчанию. Если вы хотите изменить язык выводимых сообщений, используйте команду --language=язык, где "язык" — это название языка, совпадающее с названием подкаталога. Например, для переключения на русский надо ввести --language=russian, и должен существовать каталог "share\russian\". Можно оставить два каталога — «english» и «russian», — а остальные удалить. Еще обратите внимание на подкаталог «charsets», в котором хранятся настройки используемых кодировок (в формате .xml или .conf в предыдущих версиях). Эти настройки влияют на сортировку полей в таблицах и поддерживаемые языки в полях типа VARCHAR и CHAR. Этот каталог является обязательным, не удаляйте его.
Вот и все. Если первоначальный объем инсталляции равен 51 Мб, то после удаления всех ненужных или редко используемых файлов он равен всего лишь 10 Мб, а при необходимости — и еще меньше.
материал взят с сайта
|