在lua脚本中使用mysql

时间:2013-09-06 21:51:06

标签: mysql lua

我需要从预装了Lua的Scientific Linux 6.4服务器上的pdns-recursor中的Lua脚本中读取数据库表。

显然我必须使用luarocks来安装luasql。当我尝试安装luasql时,我得到:

Checking Lua includes... lua.h not found  
lua.h is not on the server.  

我尝试删除已安装的版本,因此我可以从二进制文件进行安装,然后破坏了系统,该系统显然使用已安装的Lua用于所有内容(yum,rpm等)。现在我必须重新加载操作系统。如何从嵌入式Lua中获取MySQL访问权限?

提前致谢。

1 个答案:

答案 0 :(得分:3)

我假设你已经检查了yum,看看luasql是否可用;如果没有,你应该首先这样做,如果可能的话,通过yum安装它。

您遇到的问题的直接原因是luarocks自动从源构建模块,这需要访问lua头。这些不仅仅是运行使用Lua的程序,因此它们不是作为普通Lua软件包的一部分安装的。我不熟悉Scientific Linux,但您可以通过安装名为lua-devlua-devellua-headers或其某些变体的软件包来获取它们。您可能还需要mySQL包(适当的库和标头)。安装好后再试一次。

您也可以尝试LuaDist,我发现它通常比luarocks更精致,并且能够自动下载更多依赖项;特别是它可能不需要安装lua头,并且可以处理从源自动下载和安装lua本身。但是,它确实需要安装CMake。

如果由于某种原因您无法安装所需的标头并且无法使用luarocks luadist工作,您可以尝试手动下载和构建luaSQL。 Lua头文件可以在Lua 5.1源代码包和LuaSQL 2.2中找到。假设Scientific Linux维护者没有过度定制他们随附的lua版本,结果应该与系统Lua安装兼容。