相关说明:

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. iOS多线程之NSThread使用

    iOS中的多线程技术 我们在iOS开发项目过程中,为了解决UI界面操作不被耗时操作阻塞,我们会使用到多线程技术.在iOS开发中,我们主要会用到三种多线程操作技术:NSThread,NSOperatio ...

  2. Oracle 12c与GoldenGate 12c的一些问答

    1. 如何知道一个12c DB是否为容器数据库?(1) container DBSQL> select cdb from v$database;CDB---YES (2) non contain ...

  3. Mainstoryboard

    页面间进行跳转 [self performSegueWithIdentifier:@"signInSuccess" sender:self] signSuccess是miansto ...

  4. TCP同步传送数据示例(简洁、清楚)

    转自:http://www.2cto.com/kf/201206/134841.html 本例子写了个简单的TCP数据传送功能.没有使用BinaryWriter,BinaryReader,而是使用Ne ...

  5. 重拾java系列一java基础(4)

    本章主要回顾一些类的相关知识: (1)static: static 静态的: 属于类的资源, 使用类名访问.  静态属性: 只有一份的变量  静态方法: 是属于类方法, 可以使用类名直接访问. 静态方 ...

  6. eclipse中导入一个android工程有The import android cannot be resolved错误怎么办

    解决方法: 右键工程→Bulid Path→Configure Build Path... 选择Android,如图,在Project Build Target里面勾选相应的SDK即可 右键工程,pr ...

  7. 进行以上Java编译的时候,出现unmappable character for encoding GBK。

    public class Exerc02{ public static void main(String args []){ char c = '中国人'; System.out.pingtln(c) ...

  8. 求一个数组中最小的K个数

    方法1:先对数组进行排序,然后遍历前K个数,此时时间复杂度为O(nlgn); 方法2:维护一个容量为K的最大堆(<算法导论>第6章),然后从第K+1个元素开始遍历,和堆中的最大元素比较,如 ...

  9. PHP文件系统处理(二)

    1.文件的打开和关闭(读文件中的内容,向文件中写内容)            读取文件中的内容                file_get_contents()     //php5以上 < ...

  10. JQuery源码分析(七)

    了解jQuery对DOM进行遍历背后的工作机制,这样可以在编写代码时有意识地避免一些不必要的重复操作,从而提升代码的性能. 关于jQuery对象的包装 var $aaron = $("aar ...