我正在开发一个访问mysql的C程序。我的代码中有以下行:
sts = connect_to_server(&mysql, "localhost", "my_username",
"my_password, "my_databasename");
当然,替换了实际值。我明白了:
无法连接到MySQL:错误:无法连接到本地MySQL服务器 通过套接字'/tmp/mysql.sock'(2)
我已经看到过这样的其他问题,答案通常是服务器已关闭。在这种情况下,它不是。 PHPMyAdmin可以很好地访问服务器。
许多其他响应说要检查套接字文件。它存在
(/Applications/AMPPS/mysql/tmp/mysql.sock).
这可能与路径或其他事情有关吗?它没有添加“/temp/mysql.sock
”的路径,因此找不到它?
我对unix知之甚少。我已经运行OSX近10年了,但我几乎没有达到那个水平。
答案 0 :(得分:0)
查看mysql配置文件(my.cnt
下某处的典型/etc
)并调整socket
的值以满足您的需求。
另外,您可以将/tmp/mysql.sock
与/Applications/AMPPS/mysql/tmp/mysql.sock
关联起来:
ln -s /Applications/AMPPS/mysql/tmp/mysql.sock /tmp/mysql.sock
答案 1 :(得分:0)
我认为错误的my.ini正在加载。默认情况下,它会查看/etc/my.ini,如果它存在则只需重命名或删除它。重启MySQL服务器。