Сегодня я постараюсь подробно описать процесс сборки и инициализации баз данных MySQL и PostgreSQL на платформе Mac OS X. Начальные шаги для подготовки системы к сборке описаны здесь, так что если вы не выполнили описанных там шагов, вряд ли что-то получится.
Итак, приступим:
![]() | ![]() |
Сборка MySQL
Начнём мы с MySQL. В моём примере будет рассматриваться сборка версии 5.1.39 (последняя в ветке 5.1 на сегодняшний день), но принцип одинаков и для других версий. Также хочется отметить, что в моих примерах сервер MySQL будет установлен в директорию /usr/local, и все команды приведены с учётом этого пути, так что если вы решите устанавливать сервер в другую директорию, изменяйте предложенные в примерах команды в соответствии с необходимыми вам путями.
Чтобы начать, необходимо скачать исходники MySQL нужной вам версии. Для этого нужно зайти на эту страницу, и в разделе «Sources» выбрать для скачивания один из пакетов. Распакуйте исходники из архива: это можно сделать при помощи встроенного в Leopard инструмента для работы с архивами (просто кликните по архиву два раза). Теперь переходим к сборке. Откройте Terminal и перейдите в директорию с исходниками. Далее список команд, которые необходимо последовательно выполнить в терминале.
Для начала ознакомьтесь со списком конфигурационных параметров, которые оказывают влияние на сборку сервера базы данных. Это можно сделать, выполнив в терминале команду:
Вы увидите огромный перечень параметров с описанием того, на что они влияют. Если раньше вам приходилось иметь дело с MySQL, вы поймёте, в чём дело. Если же нет, рекомендую подробнее почитать об этом на
Этими параметрами я указываю, куда именно я хочу установить сервер, а также включаю ряд опциональных параметров.
После того, как конфигурация успешно завершилась, запускаем компиляцию:
Запаситесь терпением, поскольку выполнение этой команды займёт довольно много времени. Посе завершения компиляции, необходимо выполнить команду установки от имени суперпользователя:
Если до этого всё было хорошо (очень на это надеюсь), теперь у вас установлен сервер MySQL, и необходимо выполнить пару шагов для завершения установки. Для начала запустите от имени суперпользователя команду создания ссылки на директорию с сервером (для удобства) и инициализации базы данных:
Теперь, если вы всё ещё находитесь в каталоге с исходниками (если нет, перейдите туда или измените указанную ниже команду), выполните следующее действие:
Тем самым вы скопируете скрипт запуска сервера в каталог с установленным MySQL и дадите права на его исполнение только владельцу файла (его мы изменим позже) либо суперпользователю.
Следующая команда установит пользователя mysql (он присутствует в системе Mac OS X Leopard сразу после установки) владельцем всех файлов установленного сервера:
Вот и всё, теперь осталось лишь запустить сервер. Для этого выполните команду:
Если после выполнения этой команды вы увидите на экране слово SUCCESS, значит всё прошло успешно, сервер запустился. Чтобы остановить сервер, замените параметр start в команде, данной выше, на stop. Чтобы ознакомиться со всеми командами, доступными скрипту, запустите его без аргументов, и он выведен на экран доступный для использования список параметров.
Сборка PostgreSQL
Непосредственно сборка этой базы данных мало чем отличается от MySQL: всё те же ./configure, make и make install, но в зависимости от конфигурационных установок, вам может потребоваться установка дополнительных библиотек. Но обо всём по порядку.
Для начала необходимо скачать исходники: взять коды нужной вам версии можно отсюда. В моих примерах будет рассматриваться сборка версии 8.4.1, но принцип тот же и для других версий, — единственное, что нужно будет делать, в случае, если вы используете отличную от моих примеров версию, — указывать правильные пути к файлам. Как и в случае с MySQL, описанном выше, устанавливать эту базу данных я буду в директорию /usr/local.
Распакуйте исходники, запустите терминал и перейдите в появившуюся у вас директорию.
Список доступных конфигуратору опций вызывается командой
Поскольку я буду собирать базу с поддержкой XML и XSLT, мне потребуется библиотека libxml2, отсутствующая в Mac OS X Leopard (хотя, могу и ошибаться, возможно она там есть, но довольно старая. В подробности не углублялся). Тут-то и потребуется наличие у вас MacPorts, об установке которого я писал во вступлении. Для того, чтобы установить в систему эту библиотеку, необходимо в терминале выполить следующую команду:
После чего в вашу систему будет автоматически установлен ряд библиотек (gperf, libiconv, zlib), необходимых для установки libxml2, а так же нужная нам библиотека.
Теперь приступаем к конфигурированию PostgreSQL
Затем копиляция (она тоже небыстрая) и установка в систему:
Теперь предстоит проделать ряд манипуляций с системными пользователями, чтобы получить группу и пользователя, необходимых для работы PostgreSQL. В отличие от mysql, пользователь postgres в Leopard отсутствует. Его, конечно, можно создать при помощи пункта «Учётные записи» в Системных настройках, но тогда этот пользователь появится и в окне приглашения входа в систему, что вам, уверен, совершенно ни к чему. А потому придётся действовать через консольную утилиту dscl — Directory Service command line utility. Все команды, которые необходимо последовательно выполнить, я объединил в одну, так что для создания группы и пользователя с именем postgres, скопируйте указанную ниже команду и выполните её в терминале:
Поскольку у вас появился пользователь postgres, необходимо назначить его владельцем свежеустановленного сервера PostgreSQL. Для этого выполните команду:
Теперь необходимо инициировать создание начальной данных структуры для сервера и указать серверу, где ему следует хранить данные. Сделать это надо от имени созданного вами пользователя postgres, но чтоб по много раз не переключаться, воспользуемся встроенными средствами системы:
Теперь завершающие шаги: сделайте симлинк на директорию с сервером (для удобства в будущем):
И можете запускать свой сервер:
Чтобы остановить сервер, достаточно выполнить команду
На этом заканчивается первая часть: установка баз данных. Приношу извинения за задержку материалов. Дело в том, что я заболел, так что сейчас мне немного не до компьютера. Остальные материалы опубликую после выздоровления.
Очень надеюсь, что у вас не возникнет проблем со сборкой данных пакетов. Все вопросы и указания на ошибки в тексте, как всегда, можете публиковать в комментариях.