Установка mysql на леопарде: «Не удается подключиться к локальному серверу MySQL через сокет» - PullRequest
8 голосов
/ 16 июля 2009

Я мигрировал на новую машину и использовал помощник по миграции для копирования моих файлов (которые, казалось, копировали через базы данных), но мне пришлось использовать macports для установки Mysql (тогда как в прошлый раз я компилировал из исходного кода через руководство Дэна Бенджамина). По какой-то причине mysql периодически выдает следующую ошибку:

Не удается подключиться к локальному серверу MySQL через сокет '/opt/local/var/run/mysql5/mysqld.sock' (2)

Это происходит независимо от того, что я пытаюсь, что включает установку сокета в /opt/local/etc/mysql5/my.cnf. Ранее мне удалось временно исправить это, перезапустив машину, но сейчас он просто не хочет знать, несмотря на то, что grep mysql говорит мне, что у меня, кажется, есть pid;

  0    46     1   0   0:00.01 ??         0:00.01 /opt/local/bin/daemondo --label=mysql5 --start-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper start ; --stop-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop ; --restart-cmd /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper restart ; --pid=none
  0    70     1   0   0:00.01 ??         0:00.01 /bin/sh /opt/local/lib/mysql5/bin/mysqld_safe --datadir=/opt/local/var/db/mysql5 --pid-file=/opt/local/var/db/mysql5/localhost.pid
 74   100    70   0   0:09.22 ??         1:02.68 /opt/local/libexec/mysqld --basedir=/opt/local --datadir=/opt/local/var/db/mysql5 --user=mysql --pid-file=/opt/local/var/db/mysql5/localhost.pid --socket=/tmp/mysql.sock
501 66217 65266   0   0:00.00 ttys001    0:00.00 grep mysql

Как мне это исправить? Есть ли какие-то шаги, которые я могу предпринять дальше? Я пытался в течение нескольких недель, и я прочитал вокруг всех соответствующих сообщений в блоге, поэтому у меня совершенно нет идей.

Ответы [ 2 ]

15 голосов
/ 13 сентября 2009

Это далеко после факта, но вот что я сделал:

touch /opt/local/var/run/mysql5/mysqld.sock
vi /opt/local/etc/mysql5/my.cnf

Добавьте следующие строки в my.cnf:

[mysqld_safe]
socket = /opt/local/var/run/mysql5/mysqld.sock

[client]
socket = /opt/local/var/run/mysql5/mysqld.sock

Это должно позволить вам подключиться. Это сработало для меня как на Leopard, так и на Snow Leopard.

2 голосов
/ 11 июля 2012

Роб прав. Смотрите эту ссылку для более полного объяснения: https://discussions.apple.com/docs/DOC-3082

Обратите особое внимание на этот комментарий, который относится к вашей проблеме:

Путь по умолчанию для сокета MySQL не подходит для MacOS X. Пока он не будет изменен, MySQL не сможет обмениваться данными ...

Итак, сделайте то, что говорит Роб (хотя для Lion это может отличаться), и запустите свой MySQL:

sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist

РЕДАКТИРОВАТЬ: Смотрите также эту ссылку: http://dev.mysql.com/doc/refman/4.1/en/problems-with-mysql-sock.html

РЕДАКТИРОВАТЬ: см. Этот вопрос: MySQL Server не запускается на Raspberry Pi

...