mysql - 如何使用 local-infile=1 从 Lua 连接到 Mysql

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

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

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

但选项 local-infile 未激活,因此我使用 LOAD DATA 的请求不起作用。 我试图把这条线

local-infile = 1

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

最佳答案

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

我使用了MySQL驱动的功能mysql_options (您可以在 mysql.h 文件中检查其原型(prototype),可能位于 /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 文件夹中的文件。

希望有帮助。

关于mysql - 如何使用 local-infile=1 从 Lua 连接到 Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26671877/

相关文章:

php - 如何针对我的排序 GET 变量改进此代码?

php - 将 MySQL 集结果存储在 PHP session 数组中以减少数据库查找

php - 来自同一列的所有值组合

math - Lua 的标准(或最受支持的)大数(任意精度)库是什么?

mysql - 如何将没有每列数据的 CSV 文件导入到 mySQL 中

php - 需要 MySQL 18 个查询,还是我可以只使用一个?

sorting - Lua 迭代按值排序的表

android - Corona SDK中物理对象穿过墙对象

mysql - LOAD DATA INFILE 返回 0 行受影响,MySQL 8

php - 使用php批量插入数据到MySQL数据库