我正在开发一个访问mysql的C程序。我的代码中有以下行:
sts = connect_to_server(&mysql, "localhost", "my_username",
"my_password, "my_databasename");
当然是替换实际值。我得到:
Failed to connect to MySQL: Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
我见过其他类似的问题,答案通常是服务器宕机了。在这种情况下则不然。 PHPMyAdmin 可以正常访问服务器。
许多其他响应都说要检查套接字文件。它存在
(/Applications/AMPPS/mysql/tmp/mysql.sock).
这可能与路径或其他什么有关吗?它没有添加“/temp/mysql.sock
”的路径,因此找不到它?
我对unix知之甚少。我已经运行 OSX 近 10 年了,但我几乎从未降到过那个水平。
最佳答案
查看mysql配置文件(典型的/etc
下的my.cnt
)并调整socket
的值以适应您的需求。
或者,您可以将 /tmp/mysql.sock
链接到 /Applications/AMPPS/mysql/tmp/mysql.sock
:
ln -s /Applications/AMPPS/mysql/tmp/mysql.sock /tmp/mysql.sock
关于mysql - 无法从C程序连接到mysql套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14681072/