php – MySQL无法通过“localhost”连接,只有127.0.0.1

这对我来说有点神秘.我可以连接到
MySQL的唯一方法是,如果我通过“127.0.0.1”调用它…例如,我的
PHP连接脚本将无法与localhost一起使用

我正在运行Mac OS X Lion,内置apache2,MySQL,PHP,phpMyAdmin

中mysqladmin:

count                             0
debug-check                       FALSE
debug-info                        TRUE
force                             FALSE
compress                          FALSE
character-sets-dir                (No default value)
default-character-set             auto
host                              (No default value)
no-beep                           FALSE
port                              0
relative                          FALSE
socket                            (No default value)
sleep                             0
ssl                               FALSE
ssl-ca                            (No default value)
ssl-capath                        (No default value)
ssl-cert                          (No default value)
ssl-cipher                        (No default value)
ssl-key                           (No default value)
ssl-verify-server-cert            FALSE
user                              (No default value)
verbose                           FALSE
vertical                          FALSE
connect-timeout                   43200
shutdown-timeout                  3600
plugin-dir                        (No default value)
default-auth                      (No default value)

如果你告诉它连接到“localhost”,MySQL将尝试连接到unix套接字.如果您告诉它连接到127.0.0.1,则强制它连接到网络套接字.因此,您可能已将MySQL配置为仅侦听网络套接字而不是文件系统套接字.

您的unix套接字究竟出了什么问题很难说清楚.但我建议你阅读MySQL参考指南中的this page.这应该对你有帮助.

更新:
基于更新的问题:参数“socket”应该是这样的:“/ var / lib / mysql / mysql.sock”. This page in the Reference Manual有更多信息.

这里有我/etc/my.cnf文件的开头:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

您的文件应该类似.那你的问题应该解决了.在测试之前不要忘记重启MySQL服务器.

dawei

【声明】:唐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。