无法从C程序连接到mysql套接字

时间:2013-02-04 05:50:06

标签: mysql c macos sockets connection

我正在开发一个访问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年了,但我几乎没有达到那个水平。

2 个答案:

答案 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服务器。