Я пытаюсь подключиться к серверу mysql на локальном хосте через php-скрипт:
$mysql = mysql_connect('localhost', 'root', 'mysecret');
но я всегда получаю сообщение:
mysql_connect(): [2002] Es konnte keine Verbindung hergestellt werden, da der Zielcomput (попытка подключения через tcp://localhost:3306)
Я думаю, что перевод этого немецкого сообщения:
mysql_connect(): 2002 Нет такого файла или каталога (попытка подключения через tcp://localhost:3306)
Я могу использовать phpMyAdmin с этими учетными данными, поэтому они верны, и сервер mysql работает в целом. При запуске клиента MySql из консоли у меня нет проблем:
mysql -u корень -p
Введите пароль:
Добро пожаловать в монитор MySQL. Команды заканчиваются на ; или \г.
Ваш идентификатор соединения MySQL — 86.
Версия сервера: 5.0.51a-24+lenny5 (Debian)
Введите «помощь»; или '\h' для помощи. Введите '\c', чтобы очистить буфер.
mysql> выйти
до свидания
Подключение к локальному хосту через порт по умолчанию (3306) через telnet работает, но я каждый раз терял соединение:
telnet localhost 3306 Попытка
127.0.0.1...
Подключен к локальному хосту.
Экранирующий символ '^]'.
?
5.0.51a-24+lenny5`w'V\MJmg,‹42;rMkQ3IW[Соединение закрыто внешним хостом.
Как объясняет мне руководство, я думаю, что это запасной вариант для сокета, если используется «localhost». Я не могу найти mysql.sock в моем debian lenny, поэтому я не могу указать mysql.default_socket на этот путь.
Может быть, я не на правильном пути - было бы неплохо, если бы вы могли указать мне решение.
""
вместо пароля, потому что она используется по умолчанию на локальном хосте? Это просто слепое предположение. - person Wh1T3h4Ck5   schedule 06.04.2011hosts
хоста не полностью искажен, «localhost» всегда равен 127.0.0.1 (ipv4) или :: 1 (ipv6) - person Marc B   schedule 06.04.2011localhost
не работает, иlocalhost
по умолчанию используется для сокета для клиентского приложения mysql, а127.0.0.1
- нет. Я ничего не просил :) - person Wrikken   schedule 06.04.2011