相关说明:

Lua最近在Nginx的web服务器上挺火的, 它的高效让更多开发喜欢上它, 本文讲述Lua与LuaSQL的安装. 在上几篇mysql-proxy的安装中有提到和操作过.

操作系统: Linux CentOS
相关软件: Lua LuaSQL

操作过程:

安装编译所需要的依赖包

 
1
yum-yinstall makegcc gcc-c++autoconf pkgconfig libtool mysql-devel ncurses ncurses-devel git

编译安装readline

 
1
2
3
4
cd
wget ftp://ftp.cwru.edu/pub/bash/readline-6.2.tar.gz
tar-xzvf readline-6.2.tar.gz
cdreadline-6.2
 
1
2
3
./configure
make
makeinstall

编译安装lua

 
1
2
3
4
cd
wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
tar-xzvf lua-5.1.4.tar.gz
cdlua-5.1.4
 
1
2
3
4
5
6
#指定安装位置
sed-i's#^INSTALL_TOP=.*#INSTALL_TOP= /usr/local/lua-5.1.4#gi'./Makefile
#如果系统为64位请执行下面这条命令
#sed -i 's#^CFLAGS=.*#CFLAGS= -O2 -fPIC -Wall $(MYCFLAGS)#gi' ./src/Makefile
makelinux
makeinstall
 
1
2
3
mkdir/usr/local/lua-5.1.4/lib/pkgconfig
cp./etc/lua.pc/usr/local/lua-5.1.4/lib/pkgconfig
sed-i's#^prefix=.*#prefix= /usr/local/lua-5.1.4#gi'/usr/local/lua-5.1.4/lib/pkgconfig/lua.pc

编译安装LuaSQL

 
1
2
3
4
5
6
cd~
git clonehttps://github.com/keplerproject/luasql.git
cd  luasql
sed-i's#^PREFIX =.*#PREFIX =/usr/local/lua-5.1.4#gi'./config
make
makeinstall

使用Lua连接Mysql

 
1
export LUA_CPATH="/usr/local/lua-5.1.4/lib/lua/5.1/?.so;"

编辑mysql.lua, 加入如下代码

 
1
2
3
4
5
6
7
8
9
10
11
12
13
localluasql=require"luasql.mysql"
localenv=assert(luasql.mysql())
localcon=assert(env:connect("mysql","root","","localhost",3306))
localcur=assert(con:execute("show databases"))
localrow=cur:fetch({},"a")
 
whilerow do
print(row.Database)
row=cur:fetch(row,"a")
end
cur:close()
con:close()
env:close()

执行:

 
 
 
 
 

Shell

 
1
2
3
4
5
[root@localhost~]# /usr/local/lua-5.1.4/bin/lua  mysql.lua
information_schema
mysql
test
[root@localhost~]#

相关链接:

Lua: http://www.lua.org/
LuaSQL: http://www.keplerproject.org/luasql/

除非注明,波尔博客的文章均为原创, 转载请注明作者和出处, 谢谢合作.
博客网址: 波尔 Boll
本文链接地址: http://www.boll.me/archives/614

Linux 下 Lua 与 LuaSQL 模块安装的更多相关文章

  1. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  2. windows下使用cpanm进行模块安装

    windows下使用cpanm进行模块安装 要放假了,突然想整理一下手头上的软件,突然发现perl的安装模块这个功能不能用. 弄了一下,使得windows 下 perl 的 cpanm能用,避免成天为 ...

  3. Linux下通过源码编译安装程序

    本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...

  4. Linux下非root用户如何安装软件

    Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...

  5. linux下Redis与phpredis扩展安装

    ++++++++++++++++++++++++++++++++++++++++++++++linux下Redis与phpredis扩展安装++++++++++++++++++++++++++++++ ...

  6. LINUX下中文语言包的安装(转)

    在安装盘上已经有各种语言包了,我们只需要找到他们,并安装就可以了.中文的是fonts-chinese-3.02-9.6.el5.noarch.rpmfonts-ISO8859-2-75dpi-1.0- ...

  7. linux下使用非root账号安装zabbix-client

    linux下使用非root账号安装zabbix-client使用非root账号rusky登录:[rusky@testServer]#tar zxvf zabbix-2.4.5.tar.gz #cd z ...

  8. [转]在linux下如何判断是否已经安装某个软件?软件安装在哪个目录

    <1>在linux下如何判断是否已经安装某个软件? ++++++++++++++++++++++++++++++++++++++++++ rpm -qa|grep 软件包 ++++++++ ...

  9. Linux下批量管理工具pssh安装和使用

    Linux下批量管理工具pssh安装和使用 pssh工具包 安装:yum -y install pssh pssh:在多个主机上并行地运行命令 pscp:把文件并行地复制到多个主机上 prsync:通 ...

随机推荐

  1. Quartz 2D--长方形和线条绘图

    今天原本想模仿2048 游戏的. 但是在设计背景环境时,涉及到绘图的知识!于是就开始对绘图进行了一翻学习. 若想自己绘图必须 写自己的View(继承UICView):然后重写UIView 中的 dra ...

  2. 添加Sql作业,新建步骤出现:从IClassFactory为CLSID为{AA40D1D6-CAEF-4A56-B9BB-D0D3DC976BA2}的COM组件创建实例失败,原因是出现以下错误:c001f011。的解决方法

    32位操作系统: 打开运行(命令提示符), 一.输入 cd c:\windows\system32 进入到c:\windows\system32路径中 二.输入 regsvr32 "C:\P ...

  3. Canopy v. 1.5.5 ubuntu安装流程

    官网的下载超级慢,还总是断,一断就失败了 我花费了7个小时终于在尝试了5次以后下载成功了,现在将网盘链接分享出来 https://yunpan.cn/cxt28gM26mxQU  访问密码 301d ...

  4. 利用NTFS交换数据流隐藏文件

    利用NTFS交换数据流隐藏文件 发表于 2012 年 12 月 15 日 由 晴刃 这篇文章介绍一下Windows的NTFS文件系统的ADS(alternate data streams,交换数据流) ...

  5. Spring MVC配置文件解释

    <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.spr ...

  6. NSNotificationCenter 的详细说明

    1. 定义一个方法 -(void) update{       } 2. 对象注册,并关连消息 [[NSNotificationCenter defaultCenter] addObserver:se ...

  7. array_walk() 函数

    array_walk() 函数对数组中的每个元素应用回调函数.如果成功则返回 TRUE,否则返回 FALSE. 典型情况下 function 接受两个参数.array 参数的值作为第一个,键名作为第二 ...

  8. HDU 5009

    http://acm.hdu.edu.cn/showproblem.php?pid=5009 题意:一个数列,每个点代表一种颜色,每次选一个区间覆盖,覆盖的代价是区间内颜色种类数的平方,直到覆盖整个数 ...

  9. html 和 body详解

    1.背景色 当不设置html的时候,html的属性不生效,浏览器会捕获body的颜色作为浏览器背景颜色,如果html生效了,则会捕获html的颜色作为浏览器背景颜色. [例1:不设置 html] bo ...

  10. NIO中Selector分析

        NIO中,使用Selector.select()方法来侦听是否有数据可以读/写,服务端开始执行时,如果没有客户端,这里的语句将进行阻塞,等待下面三个情况出现,才会进行后续的方法之行,这里是重点 ...