2014-10-31 39 views
0

我使用連接到MySQL數據庫從Lua:如何從Lua與本地INFILE連接到MySQL = 1

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

但選擇本地INFILE沒有被激活,所以我使用LOAD DATA唐請求沒有工作。 我試圖把線

local-infile = 1 

在現場[客戶]文件my.cnf中,但它仍然無法正常工作。 僅供參考:我正在使用linux和mysql 5.1。

回答

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文件夾已找到,您可能需要爲LUA_LIBDIR,LUA_DIR,LUA_INC,DRIVER_LIBS和DRIVER設置適當的值_INCS位於LuaSQL文件夾中的config文件中。

希望它有幫助。