MySQL localhost / 127.0.0.1 проблема - PullRequest
3 голосов
/ 09 марта 2011

У меня на MacBook работает локальный веб-сервер, и я столкнулся со странной проблемой. Я могу получить доступ к MySQL с помощью такой программы, как Sequel Pro, пароль работает, а жизнь прекрасна.

В PHP, если у меня есть сервер БД 127.0.0.1, все также работает.

Однако, если я изменю db-сервер на localhost, мне будет отказано в доступе из-за ошибок 'root' @ 'localhost'. Я убедился, что сокет MySQL настроен правильно, но все еще не может использовать localhost.

Любое понимание было бы потрясающим. Спасибо!

Ответы [ 4 ]

5 голосов
/ 04 мая 2012

Помимо слов Михаила,

есть еще одна ссылка: http://dev.mysql.com/doc/refman/5.1/en/connecting.html, там написано:

В Unix программы MySQL обрабатывают имя хоста localhost специально, в способ, который, вероятно, отличается от того, что вы ожидаете по сравнению с другими сетевые программы. Для соединений с localhost, программами MySQL попытаться подключиться к локальному серверу с помощью файла сокета Unix. Это происходит, даже если для указания порта указана опция --port или -P число.

это не типичное соединение TCP / IP. если у вас переадресация локального порта с 127.0.0.1:3306 на 192.168.1.2:3306, «mysql -h localhost» попытается подключиться к локальному файлу сокета unix.

Это не относится к вашему вопросу (так как вы используете php), но надеюсь, что это все равно поможет.

4 голосов
/ 09 марта 2011

С здесь .

Установите начальный пароль для пользователя root на localhost.

УСТАНОВИТЬ ПАРОЛЬ ДЛЯ root @ localhost = ПАРОЛЬ ('новый_пароль'); ПРИВИЛЕГИИ ПРОМЫВКИ;

1 голос
/ 09 марта 2011

В вашем файле my.cnf либо измените bind-address на localhost, либо полностью удалите настройку bind-address (что заставит mysql прослушивать все IP-адреса).

Файл my.cnf обычно находится в / etc или /etc/mysql.

0 голосов
/ 18 октября 2014

Это то, что исправило это для меня. PHP.INI по умолчанию находится в другом месте, чем MySQL для сокета по умолчанию. Чтобы исправить, просто запустите эти две команды, чтобы добавить псевдоним (перезапуск не требуется):

mkdir /var/mysql
ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...