Lua编程,建立数据库连接出现错误。

在编写连接到数据库的代码之后,Lua 返回如下错误:

在建立 MySQL 连接时出错,无法连接到 /var/lib/mysql/mysql.sock

我无法找到 /var/lib/mysql/mysql.sock 文件(我也没有创建该文件)

我的 Socket 是 /tmp/mysql.sock

以下是我连接到 MySQL 数据库的代码:

mysql = require "luasql.mysql"

local env  = mysql.mysql()
local conn = env:connect('test','root','')
print(env,conn)

status,errorString = conn:execute([[CREATE TABLE sample2 (id INTEGER, name TEXT);]])
print(status,errorString )
点赞
用户668125
用户668125

正如在此处所看到的那样,问题是由于 luasql 默认在连接本地主机时不使用端口而使用默认套接字路径造成的。所以只需在 env:connect 中设置 mysql 主机和端口或指定套接字路径即可。

编辑: 我认为你的代码应该是:

env:connect('test','root','','localhost',3306) -- 用于tcp
-- 或
env:connect('test','root','',':/tmp/mysql.sock') -- 用于套接字
2014-06-27 14:45:22