如何在clsql中指定mysql sock路径?

如何在clsql中指定mysql sock路径?,mysql,common-lisp,clsql,Mysql,Common Lisp,Clsql,当我使用clsql连接到mysql时,发生了以下错误 尝试连接到数据库localhost:3306/root时/ 使用数据库类型MYSQL: 错误2002/无法通过套接字“/var/run/MySQL/MySQL.sock”连接到本地MySQL服务器(2) 已经发生了。 [SQL-CONNECTION-ERROR类型的条件] 我的mysql.sock路径是“/home/myhome/var/run/mysql/mysql.sock” 我可以更改clsql中的默认sock路径吗? 这是我的代码,(

当我使用clsql连接到mysql时,发生了以下错误

尝试连接到数据库localhost:3306/root时/ 使用数据库类型MYSQL: 错误2002/无法通过套接字“/var/run/MySQL/MySQL.sock”连接到本地MySQL服务器(2) 已经发生了。 [SQL-CONNECTION-ERROR类型的条件]

我的mysql.sock路径是“/home/myhome/var/run/mysql/mysql.sock” 我可以更改clsql中的默认sock路径吗? 这是我的代码,(SBCL 1.0.50,mysql 5.0,clsql-20130128-git)

(asdf:操作“asdf:加载操作”clsql)

(在包#:clsql用户中)

(clsql:connect'(“本地主机”“用户名”“密码”“数据库名”3306):数据库类型:mysql)


我建议创建一个
~/.my.cnf
或(如果您有root访问权限)
/etc/my.cnf
文件,并包括套接字的客户端设置,
libmysqlclient
可能会发现这一点


如果做不到这一点(或者如果您不想进行全局更改),文档建议您可以将MySQL选项列表指定为一个单独的assoc列表,并将其传递到

有趣的是,答案是将主机从“localhost”更改为“127.0.0.1”“

我有一个/etc/my.cnf配置,我读过mysql-api.lisp和mysql.lisp,似乎我应该使用(规范中的数据库名(主机数据库用户密码和可选端口选项))。在mysql-api.lisp(uffi:def enum mysql选项(:连接超时…:重新连接:ssl验证服务器证书))中。mysql手册:>socket=path;;也许是我需要的。我想我应该像这样写“选项”(:socket)/home/myhome/var/run/mysql/mysql.sock)或(“socket”“/home/myhome/var/run/mysql/mysql.sock”),但他们错了,我是cl的新手,我该如何让他们一起工作?