【问题标题】:How to connect to Mysql from Lua with local-infile=1如何使用 local-infile=1 从 Lua 连接到 Mysql
【发布时间】:2014-10-31 09:59:33
【问题描述】:

我正在使用 lua 连接到 mysql 数据库:

mysql = require "luasql.mysql"
local env = mysql.mysql()
local conn = env:connect(database,userName,password)

但是 local-infile 选项没有被激活,所以我使用 LOAD DATA 的请求不起作用。 我试着把这条线

local-infile = 1

在 [client] 字段中的文件 my.cnf 中,但它仍然不起作用。 仅供参考:我使用的是 linux 和 mysql 5.1。

【问题讨论】:

    标签: mysql lua load-data-infile my.cnf luasql


    【解决方案1】:

    上周我也遇到了同样的情况。查询 LOAD DATA INFILE 在 Mac OSX 上运行,但我无法让它在 Ubuntu 上运行。我发现让它工作的唯一方法是在 LuaSQL 项目中添加一行代码并重新编译它。

    我使用了 MySQL 驱动的函数mysql_options(您可以在mysql.h 文件中查看它的原型,可能位于/usr/include/mysql)来启用local-infile。您可以在repository查看代码。

    要编译和安装此解决方法,您应该下载文件:

    $ wget https://github.com/rafaeldias/luasql/archive/master.zip
    $ unzip master.zip
    

    编译安装:

    $ cd luasql-master/
    $ make
    $ sudo make install
    

    注意:根据 Lua 和 MySQL 文件夹所在的位置,您可能需要在 config 文件中为 LUA_LIBDIR、LUA_DIR、LUA_INC、DRIVER_LIBS 和 DRIVER_INCS 设置正确的值LuaSQL 文件夹。

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2015-10-05
      • 1970-01-01
      • 2013-10-09
      • 2013-01-24
      • 2017-07-01
      • 2012-06-01
      • 2013-10-23
      • 1970-01-01
      相关资源
      最近更新 更多