Соединения сокета MySQL работают, но не соединения порта

1059
Neil

Я установил сообщество MySQL 5.1.45 на свой Snow Leopard 10.6, используя pkg с их сайта. Ранее я установил двоичный файл MySQL из entropy.ch. В предыдущей установке соединения работали нормально до того, как я обновился до Snow Leopard. В Snow Leopard обе установки проблематичны.

Используя приложение под названием Sequel Pro, если я подключаюсь с помощью сокета, он подключается правильно. Однако стандартное соединение с теми же учетными данными не работает. Из того, что я понял, соединения сокетов происходят на самой машине между процессами, тогда как нормальные соединения происходят через сеть / порты, в данном случае возврат к моей машине, поскольку сервер и клиент находятся на одной машине.

Моя новая установка CakePHP не может подключиться к базе данных с предоставленными мною полномочиями root. Кстати, я запускаю сервер MySQL, используя панель настроек.

Когда я попытался запустить mysqld из терминала, он дал мне:

100323 1:54:37 [Предупреждение] Не удается создать тестовый файл /usr/local/mysql-5.1.45-osx10.6-x86_64/data/mbp.lower-test 100323 1:54:37 [Предупреждение] Можно ' t создать тестовый файл /usr/local/mysql-5.1.45-osx10.6-x86_64/data/mbp.lower-test mysqld: Невозможно изменить dir на '/usr/local/mysql-5.1.45-osx10. 6-x86_64 / data / '(код ошибки: 13) 100323 1:54:37 [ОШИБКА] Отмена

100323 1:54:37 [Примечание] mysqld: завершение работы завершено

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

1
Вы запускаете mysqld из командной строки, используя sudo? Первая мысль: у mysql недостаточно прав для создания необходимых файлов. Aaron Havens 14 лет назад 0

1 ответ на вопрос

0
Craig

Разрешения в mysql для соединений с сокетами отделены от сетевых соединений.

Это позволит сетевые подключения:

grant all privileges on dbname.* to USERNAME@% identified by 'password' 
Не могли бы вы сказать мне точное разрешение для сетевых подключений? Не хочу оставлять в моей системе широкую дыру, включив все разрешения, включая возможности выполнения файлов, когда моей базе данных нет необходимости. Тем более, что это важная машина со всей моей работой над ней. Neil 14 лет назад 0
You might want to change the '%' in that grant statement to the name of the host that needs access. And maybe add a similar statement with the '%' set to 'localhost'. Marnix A. van Ammers 14 лет назад 0