Я полагаю что многие заметили, что на офсайте MySQL отсутствует dmg пакет MySQL для Леопарда. Рисковать и «прогонять» тигровый пакет я не стал, а просто собрал свой БД сервер прямо из исходников. Делается это примерно так:
Необходимо знать/уметь/иметь:
Итак, в дело, бейби, да!
Собственно – это всё. Сервер установлен и готов к работе. Однако, хабрачеловек == ленивый человек, а потому он де факто хочет чтобы сервер запускался (и выключался) сам при загрузке системы. Как этого достичь? Элементарно, Ватсон, мистер Джоббс и тут приготовил для настоящих джедаев специальные таблетки для входа в матрицу. Итак:
Вот, собственно, и всё :)
Необходимо знать/уметь/иметь:
- Вы знаете что такое консоль и как ей пользоваться (пусть на уровне чайника – этого будет достаточно)
- Вы знакомы с основами *nix и не испытываете проблем с оргазмом от полупрозрачной консоли в MacOS X
- У вас уже есть XCode, если его нет – скачайте и установите с офсайта XCode 3.0
Итак, в дело, бейби, да!
- Надо добавить в наш PATH следующие пути (это в .bash_profile)
export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"
Ну и естественно загрузить этот файл
. ~/.bash_profile
- Делаем новую папку для сорсов
cd ~ mkdir src cd src
- Качаем и распаковываем сорсы MySQL
curl -O http://mysql.he.net/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz tar xzvf mysql-5.0.45.tar.gz cd mysql-5.0.45
- Запускаем конфигуратор
CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc \ CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors \ -fno-exceptions -fno-rtti" \ ./configure --prefix=/usr/local/mysql \ --with-extra-charsets=complex --enable-thread-safe-client \ --enable-local-infile --enable-shared
- Компилируем
make sudo make install
- Ну и инициализируем
cd /usr/local/mysql sudo ./bin/mysql_install_db --user=mysql sudo chown -R mysql ./var
Собственно – это всё. Сервер установлен и готов к работе. Однако, хабрачеловек == ленивый человек, а потому он де факто хочет чтобы сервер запускался (и выключался) сам при загрузке системы. Как этого достичь? Элементарно, Ватсон, мистер Джоббс и тут приготовил для настоящих джедаев специальные таблетки для входа в матрицу. Итак:
- Надо создать на десктопе файл com.mysql.mysqld.plist и зафигачить в него следующий текст:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>KeepAlive</key> <true/> <key>Label</key> <string>com.mysql.mysqld</string> <key>Program</key> <string>/usr/local/mysql/bin/mysqld_safe</string> <key>RunAtLoad</key> <true/> <key>UserName</key> <string>mysql</string> <key>WorkingDirectory</key> <string>/usr/local/mysql</string> </dict> </plist>
- Далее этот файлик надо разметить в правильном месте
sudo mv ~/Desktop/com.mysql.mysqld.plist /Library/LaunchDaemons sudo chown root /Library/LaunchDaemons/com.mysql.mysqld.plist
- Ну и зарегистрировать в системе:
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysqld.plist
- Чисто теоретически всё сейчас обстоит пучком и сервер уже запущен и ждёт чтобы его насиловал честный разработчик, проверить это можно простой командой:
mysql -uroot
Вот, собственно, и всё :)