Как подключиться к правильной базе данных MySQL на OS X?(Работает два экземпляра mysqld) - PullRequest
1 голос
/ 17 апреля 2011

У меня на компьютере работает два экземпляра сервера MySQL.Одним из них является пакет mysql, поставляемый в комплекте с MAMP, а другим - 64-битная установка, которую я скачал, чтобы я мог работать с моей библиотекой python.

Это строго для разработки.

Оба работают:

:~ zachary$ ps -awwx | grep mysql
 1944 ??         0:00.02 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/MyMachine-2.local.pid
 2016 ??         0:10.17 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/MyMachine-2.local.err --pid-file=/usr/local/mysql/data/MyMachine-2.local.pid
 6824 ??         0:00.02 /bin/sh /Applications/MAMP/Library/bin/mysqld_safe --port=8889 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --lower_case_table_names=0 --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log
 6894 ??         0:00.36 /Applications/MAMP/Library/libexec/mysqld --basedir=/Applications/MAMP/Library --datadir=/Applications/MAMP/db/mysql --user=mysql --lower_case_table_names=0 --log-error=/Applications/MAMP/logs/mysql_error_log.err --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --socket=/Applications/MAMP/tmp/mysql/mysql.sock --port=8889

Тем не менее, мой PHP только хочет подключиться к серверу MAMP MySQL.Я считаю, что mysql_connect () позволяет вам указать порт, но я не уверен, как с этим справиться.

Спасибо.

Редактировать: кажется, что MAMP предпочитает свой собственный сервер MySQL, когда вы используете mysql_connect () в установке MAMP - не уверен почему - может кто-нибудь объяснить, пожалуйста?Но я смог подключиться к серверу MySQL, установленному вручную, используя следующий синтаксис:

mysql_connect(':/tmp/mysql.sock', 'username', 'pw');

Ответы [ 2 ]

2 голосов
/ 17 апреля 2011

Похоже, что MAMP работает на порту 8889, а другой экземпляр - на порту по умолчанию (3306). Чтобы быть уверенным, запустите netstat -lnp, чтобы увидеть, какие порты используют все процессы прослушивания. (Предупреждение: дважды проверьте параметры netstat, так как я пользователь Linux, а не пользователь Mac).

1 голос
/ 17 апреля 2011

Право AJ.
И для подключения к серверу MySQL через определенный порт (кроме 3306)

mysql_connect("{$mysqlServerNameOrIp}:{$mysqlSpecificServerPort}", 'username', 'password');
...