MySQL Proxy LUA安装和使用教程

移动开发 iOS
MySQL Proxy LUA安装和使用教程是本文要介绍的内容,主要是来了解MySQL Proxy LUA的学习技巧,具体内容来看本文详解。

MySQL Proxy LUA安装和使用教程是本文要介绍的内容,主要是来了解MySQL Proxy LUA的学习技巧,具体内容来看本文详解。

按照手册安装MySQL Proxy之前先要安装以下软件

  1. libevent1.xorhigher(1.3borlaterispreferred)  
  2. lua5.1.xorhigher  
  3. glib22.6.0orhigher  
  4. pkg-config  
  5. libtool1.5orhigher  
  6. MySQL5.0.xorhigherdeveloperfiles  
  7.  
  8. rpm查看libevent  
  9. rpm-qlibevent  
  10. libevent-1.1a-3.2.1 

勉强用吧,家下来安装lua

  1. tarxvzflua-5.1.4.tar.gz  
  2. cdlua-5.1.4  
  3. makelinux  
  4. makeinstall  
  5. cpetc/lua.pc/usr/local/lib/pkgconfig/ 

之后安装MySQLProxy按转世继续报错,呵呵,虽然手册上对于glib2写的版本是2.6.0及以后实际在MySQLProxy0.7.2上是要求>2.16的,继续升级glib2

  1. tarxvzfglib-2.23.0.tar.gz  
  2. cdglib-2.23.0  
  3. ./configure  
  4. make  
  5. makeinstall 

然后提示安装libevent版本过低,晕了

  1. tarxvzflibevent-1.4.13-stable.tar.gz  
  2. cdlibevent-1.4.13-stable  
  3. ./configure  
  4. make  
  5. makeinstall 

这次再去安装MySQLProxy

  1. tarzxfmysql-proxy-0.7.2.tar.gz  
  2. cdmysql-proxy-0.7.2  
  3. ./configurewith-mysql=/usr/local/mysql/bin/mysql_configwith-lua  
  4. make  
  5. makeinstall 

默认的mysql-proxy被安装到/usr/local/sbin/mysql-proxy而lua实例脚本则在/usr/local/share/doc下(不过好像需要之前maketest才有,不确定).

查看下MySQLProxy的版本

mysql-proxy-V
mysql-proxy:errorwhileloadingsharedlibraries:/usr/local/lib/libmysql-chassis.so.0:cannotrestoresegmentprotafterreloc:Permissiondenied

报错,这是SELinux的问题,可如下解决

  1. chcon-ttexrel_shlib_t/usr/local/lib/libmysql-chassis.so.0  
  2.  
  3. mysql-proxy-V  
  4. mysql-proxy0.7.2  
  5. glib2:2.23.0  
  6. libevent:1.4.13-stable  
  7. lua:Lua5.1.4  
  8. LUA_PATH:/usr/local/lib/mysql-proxy/lua/?.lua  
  9. LUA_CPATH:/usr/local/lib/mysql-proxy/lua/?.so  
  10. 2009-12-1800:05:34:(warning)g_set_prgname()calledmultipletimes 
  11. ==plugins==  
  12. admin:0.7.0  
  13. proxy:0.7.0 

至此MySQLProxy安装完成,记住LUA_PATH:/usr/local/lib/mysql-proxy/lua/?.lua下面要用到

启动,编译启动脚本,

  1. vi/etc/init.d/mysql-proxy  
  2.  
  3. #!/bin/sh  
  4. exportLUA_PATH=/usr/local/lib/mysql-proxy/lua/?.lua  
  5.  
  6. mode=1 
  7. if[-z"mode"];then  
  8. mode="start" 
  9. fi  
  10.  
  11. casemodein  
  12. 'start')  
  13. mysql-proxydaemon/  
  14. admin-address=:4401/  
  15. proxy-address=:3307/  
  16. proxy-backend-addresses=:3306/  
  17. proxy-read-only-backend-addresses=192.168.133.232:3306/  
  18. proxy-read-only-backend-addresses=10.10.74.61:3306/  
  19. proxy-lua-script=/usr/local/share/doc/mysql-proxy/rw-splitting.lua  
  20. ;;  
  21.  
  22. 'stop')  
  23. killallmysql-proxy  
  24. ;;  
  25.  
  26. 'restart')  
  27. if0stop;then  
  28. 0start  
  29. else  
  30. echo"retartfailed!!!"  
  31. exit1  
  32. fi  
  33. ;;  
  34. esac  
  35. exit0 

现在解释一下启动脚本:

  1. daemon采用daemon方式启动  
  2. admin-address=:4401指定mysqlproxy的管理端口,在这里,表示本机的4401端口  
  3. proxy-address=:3307指定mysqlproxy的监听端口,也可以用127.0.0.1:3307表示  
  4. proxy-backend-addresses=:3306指定mysql主机的端口  
  5. proxy-read-only-backend-addresses=192.168.1.1:3306指定只读的mysql主机端口  
  6. proxy-read-only-backend-addresses=192.168.1.2:3306指定另一个只读的mysql主机端口  
  7. proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua指定lua脚本,在这里,使用的是rw-splitting脚本,用于读写分离 

(以上脚本内容摘自叶金荣blog)

googlecode上也有mysql-proxy脚本也可以下下来修改使用

  1. wgethttp://customcode.googlecode.com/files/mysql-proxy 

完整的参数可以运行以下命令查看:

  1. mysql-proxyhelp-all 

之后可以通过以下命令启动|停止|重启

  1. /etc/init.d/mysql-proxystart  
  2. /etc/init.d/mysql-proxystop  
  3. /etc/init.d/mysql-proxyrestart 

居然提示权限不够,不过简单

  1. chmod+x/etc/init.d/mysql-proxy 

这样该ok了把,可能会报错类似于:

  1. /etc/init.d/mysql-proxystart  
  2. 2009-12-1801:59:52:(warning)g_set_prgname()calledmultipletimes  
  3. 2009-12-1801:59:52:(critical)chassis.c:981:couldnotraiseRLIMIT_NOFILEto8192,Invalidargument(22).Currentlimitstill13815894353589044224. 

这个一个警告级别的错误,意思是MySQLProxy在你的系统上不能把openfileslimit提升到8192,不过没关系的,MySQLProxy依然好好的运行在你的电脑上.

  1. mysql-h127.0.0.1-uroot-p-P3307  
  2. Enterpassword:  
  3. WelcometotheMySQLmonitor.Commandsendwith;or/g.  
  4. YourMySQLconnectionidis6  
  5. Serverversion:5.1.40-blang-debug-logSourcedistribution  
  6. Type'help;'or'/h'forhelp.Type'/c'toclearthecurrentinputstatement.  

MySQL Proxy LUA安装和使用教程

可以看到,产生了一个新连接。

小结:MySQL Proxy LUA安装和使用教程的内容介绍完了,希望通过本文的学习能对你有所帮助!

责任编辑:zhaolei 来源: 互联网
相关推荐

2011-08-30 11:09:26

MySQL ProxyLua

2011-08-30 10:08:38

Centos 5.2Mysql ProxyLUA

2011-08-30 11:00:10

MySQL ProxyLua

2011-08-30 10:36:31

Ubuntu 9.04Mysql ProxyLua

2011-08-30 09:59:47

Mysql ProxyLUA

2011-09-01 17:46:22

MySQL ProxyLua脚本

2011-08-30 12:49:59

Mysql ProxyLua分离

2011-08-30 10:51:40

MySQL ProxyLua分离

2011-08-30 09:47:00

Linux5u3luaMySQL Proxy

2011-08-24 11:03:33

LUA环境 安装

2011-08-30 13:08:55

Mysql ProxyLua分离

2011-08-30 13:26:18

Mysql ProxyLua

2012-10-31 09:51:05

Mac OS XLua编程

2011-08-24 10:13:00

Lua

2011-08-03 14:06:30

Xcode 4 安装

2013-12-03 13:05:30

Lua脚本语言

2011-07-22 13:24:55

MySQL Proxy读写离别

2014-03-18 09:27:30

2011-08-23 13:27:46

Luaglobal变量

2021-11-26 00:04:01

RedisLua 脚本
点赞
收藏

51CTO技术栈公众号