Установка сервера MySQL и phpMyAdmin на Mac OS X
Есть множество способов установки MySQL на Mac OS X, я предпочел стандартную установку из дистрибутива, при любом из способов инсталирования MySQL может возникнуть ряд вопросов, на которые следует обратить внимание. Дополнительно рассмотрим установку веб-интерфейса phpMyAdmin для администрирования баз данных MySQL и модуля mcrypt.
Системные требования: Mac OS X 10.6.6 и MySQL 5.5.8. В MySQL версии ниже 5.5 не работает панель настроек (MySQL.prefPane).
Скачать MySQL для Mac OS X можно на официальном сайте. Переходим на страницу загрузки, в меню слева переходим по ссылке MySQL Community Server и в выпадающем списке выбираем платформу Mac OS X. Ищем версию совместимую с операционной системой и скачиваем. Монтируем образ и последовательно устанавливаем основной пакет MySQL, MySQLStartupItem.pkg (автозагрузка) и MySQL.prefPane (панель настроек позволяет запускать/останавливать сервер и добавить его в автозагрузку). Установка тривиальна, достаточно принять условия лицензионного соглашения и следовать инструкциям.
В начале необходимо переименовать папку, в которую установлен MySQL. Она находится в скрытой директории /usr/local/mysql-5.5.8-osx10.6-x86_64
, если в системе уже был установлен MySQL, старую папку необходимо удалить или переименовать:
sudo mv /usr/local/mysql-5.5.8-osx10.6-x86_64 /usr/local/mysql
Для запуска и остановки сервера MySQL можно воспользоваться командами:
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop
Если сейчас попытаться запустить сервер MySQL, то он вернет ошибку:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Конфигурация сервера MySQL
Создадим файл конфигурации MySQL /etc/my.cnf
(не создается автоматически):
sudo touch /etc/my.cnf
sudo nano /etc/my.cnf
и добавим в него следующие строки:
[mysqld]
basedir=/usr/local/mysql
Файл mysql.sock будет храниться папке /tmp
, он создается автоматически при запуске сервера MySQL, поэтому необходимо дать пользователю _mysql
права на чтение и запись в папку /tmp
:
sudo chown _mysql:staff /tmp
Для запуска сервера MySQL необходимо перейти в Системные настройки > MySQL > Start MySQL Server или через командную строку, как упоминалось выше.
Для удобства работы с MySQL через командную строку добавим путь /usr/local/mysql/bin/
в переменную окружения PATH. В командной строке выполняем следующие инструкции:
nano ~/.profile
Добавляем строку:
export PATH=/usr/local/mysql/bin:$PATH
Сохраняем и перезапускаем терминал. Теперь можно пользоваться командами mysqladmin
(администрирование) и mysql
(работа с базами данных).
Для проверки работоспособности сервера введем в командной строчке mysql
, если все инструкции выполнены верно, мы увидим приглашение MySQL:
mysql>
Настройка сервера закончена. Если требуется более тонкая конфигурация можно воспользоваться файлами настроек, которые находятся в папке /usr/local/mysql/support-files
.
Возможно после перезапуска системы будет выводиться следующее предупреждение:
Предупреждение показывается, если в настройках указана автозагрузка сервера при старте системы, проверить можно следующим образом:
sudo nano /etc/hostconfig
Ищем строку со значением MYSQLCOM=-YES-
и меняем ее на MYSQLCOM=-NO-
, если автозагрузка не требуется (то же самое можно сделать через панель настроек).
Если автозагрузка сервера MySQL нужна и скрыть предупреждение, нужно ввести в следующую команду:
sudo chown -R root:wheel /Library/StartupItems/MySQLCOM
С более подробной установкой можно ознакомиться в файле ReadMe.txt, который находится на установочном образе диска MySQL.
Сделаем так, чтобы пользователь root мог соединиться с сервером, только указав пароль:
mysqladmin -u root password 'ваш_пароль'
Тестирование соединения с MySQL
Если в системе уже подключен PHP и сконфигурирован Apache, можно протестировать совместную работу с MySQL, но для начала может потребоваться внести небольшие изменения в конфигурацию PHP и указать путь к файлу mysql.sock
в параметре mysql.default_socket
. Сделать это можно с помощью символьной ссылки, переходим к командной строке и вводим следующую команду:
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Простой PHP-скрипт для тестирования соединения с MySQL:
Установка и настройка phpMyAdmin
Для удобного администрирования баз данных MySQL установим веб-интерфейс phpMyAdmin.
Предварительно необходимо настроить веб-сервер Apache и PHP (см. Настройка веб-сервера Apache и PHP на Mac OS X).
Переходим на официальный сайт phpMyAdmin и скачиваем последнюю стабильную версию. Распаковываем архив и переименовываем папку в phpMyAdmin. Переместим в директорию с нашими сайтами, например /Users/andrey/Sites/phpMyAdmin/
.
В корневом каталоге phpMyAdmin создадим файл конфигурации config.inc.php
и поместим в него следующие строки:
Теперь можно перейти в веб-интерфейс phpMyAdmin (http://localhost/phpMyAdmin/
). Для корректной работы phpMyAdmin потребуется установить модуль mcrypt, иначе вы увидите следующее предупреждение:
Cannot load mcrypt extension. Please check your PHP configuration.
Установка модуля mcrypt
Примечание: для установки модуля mcrypt потребуется наличие установленного Xcode.
Находясь в домашнем каталоге создадим временный каталог temp
(будьте внимательнее с названием и расположением каталогов) и перейдем в него:
mkdir ~/temp
cd ~/temp
Скачиваем и распаковываем библиотеку libmcrypt:
curl -O http://surfnet.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz
tar xzf libmcrypt-2.5.8.tar.gz
Переходим в папку libmcrypt-2.5.8:
cd libmcrypt-2.5.8
Выполняем следующие команды:
MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS=" -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS=" -arch x86_64 -g -Os -pipe" CXXFLAGS=" -arch x86_64 -g -Os -pipe" LDFLAGS=" -arch x86_64 -bind_at_load" ./configure --disable-dependency-tracking
make
sudo make install
Возвращаемся в папку temp:
cd ~/temp
Теперь скачаем PHP из исходников, распакуем и сконфигурируем PHP, переходим к командной строке и выполняем следующие инструкции:
curl -O http://www.opensource.apple.com/source/apache_mod_php/apache_mod_php-53.3.1/php-5.3.3.tar.bz2
tar xjf php-5.3.3.tar.bz2
cd ~/temp/php-5.3.3/ext/mcrypt
phpize
MACOSX_DEPLOYMENT_TARGET=10.6 CFLAGS=" -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS=" -arch x86_64 -g -Os -pipe" CXXFLAGS=" -arch x86_64 -g -Os -pipe" LDFLAGS="-arch x86_64 -bind_at_load" ./configure
make
sudo make install
Теперь необходимо перейти в файл конфигурации PHP и сообщить ему о новом модуле:
sudo nano /etc/php.ini
добавим строку:
extension=mcrypt.so
Перезапускаем веб-сервер Apache.
Файл mcrypt автоматически установился в каталог /usr/lib/php/extensions/no-debug-non-zts-20090626/mcrypt.so
.
Ссылки по теме:
-
-
Александр
8 февраля 2011 в 22:28 #Попытался сделать так как Вы написали в этом посте и хотел бы добавить маленькое упущение на котором сам споткнулся:
>> и добавим в него следующие строку:
>>
>> basedir=/usr/local/mysql
Перед «basedir=/usr/local/mysql» строкой выше нужно добавить [mysqld] если такой директивы нет. Иначе эта переменная не переопределится.
makegood
8 февраля 2011 в 22:53 #Согласен, там можно еще и другие директивы добавить, но я потом пробовал удалять все лишнее и MySQL по прежнему работал, на чистой машине еще не успел протестировать.
Max
27 февраля 2011 в 22:01 #Сделал все как Вы написали, mcrypt так и не заработал. Может сможете подсказать в чем может быть подвох?
И phpMyAdmin не принимает русские символы, выводит знаки вопроса (???).. хотя меню по русски..
Может ли это быть изза не рабочего mcrypt?
makegood
27 февраля 2011 в 22:41 #Max, mcrypt по приведенному руководству должен ставиться, на работу phpMyAdmin он не влияет, попробуйте Sequel Pro, он намного удобнее чем phpMyAdmin.
Max
28 февраля 2011 в 00:13 #Спасибо, попробую… но все же хотелось бы разобраться с phpmyadmin, как его заставить работать с русскими символами?
Max
28 февраля 2011 в 02:02 #Поставил Sequel Pro, понравилась програмка, но в стандартной кодировке опять вопросы вместо русских символов, поменял кодировку на utf8-unicode, в Sequel Pro стало нормально, а когда вытягиваю в браузер, то опять знаки вопроса…((
Max
28 февраля 2011 в 02:27 #Все, разобрался, спс.
Статейка кстати отличная
ayrat
12 марта 2011 в 11:36 #Спасибо, отличная статья — долго мучался с установкой mcrypt, пока не нашел вашу статью, а после прочитал про Sequel Pro и выходит зря ставил mcrypt )))
Makc
26 марта 2011 в 10:53 #ненад за меня отвечать плз )))
для чего нужен mcrypt? и что такое Sequel Pro?
Denis
25 сентября 2011 в 00:18 #Сделал всё по инструкции, только сервер не запускается и пишет ошибку «Bad CPU type in executable». Как быть? Может я не ту версию сервера скачал?
Устанавливал версию 5.5.
Александр
31 октября 2011 в 07:37 #«Монтируем образ и последовательно устанавливаем основной пакет MySQL, MySQLStartupItem.pkg (автозагрузка) и MySQL.prefPane (пане»
Подскажите малограмотному откуда взять эти пакеты. После скачивания получил архив, развернул, получил директорий с массой встроенных…….
если можно поподробнее…
makegood
31 октября 2011 в 08:27 #Александр, скачайте этот образMac OS X ver. 10.6 (x86, 64-bit), DMG Archive
Александр
31 октября 2011 в 11:31 #Спасибо большое! Скачал, установил.
Сергей
25 марта 2012 в 13:24 #ребята, так как с кодировкой разобраться. уже великое множество перебробовал, и все равно когда базу данных из phpmyadmin к сайту подключаю все символы вопросами отображаются. подскажите оптимальную кодировку !?
Сергей
25 марта 2012 в 13:24 #заранее благодарен
makegood
25 марта 2012 в 21:31 #Сергей, UTF-8
Serge
21 июня 2012 в 01:11 #Не могу избавиться от
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
после перезагрузки.
уже и переустанавливал, и по 6 раз проходил все с самого начала — ни в какую не запускается mysql
Может, у кого-то была такая же проблема?
Максим
5 декабря 2013 в 14:52 #Самая годная статья которую нашел. Ничего лишнего нет.