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

标签 mysql c macos sockets connection

我正在开发一个访问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/

相关文章:

mysql - 根据日期时间获取最后一个内部联接记录时出现问题

mysql - MySql中查询多对多关系

php - 比较 php 数组和 mysql 列

javascript - 设置操作系统特定的键绑定(bind) - Mac 上为 Cmd,其他设备上为 Ctrl

php - 在mysql中使用max(points) AS时如何获得完整的行?

c - 异或交换输出预测

_Atomic 类型说明符和限定符之间的 C11 语法歧义

在 C 中递归连接字符串

macos - 如何使用 bash 创建具有随机数据的多个文件

macos - 运行 npm start 时出现错误 watchman--no-pretty get-sockname