首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

Mysql-proxy主从筹建读写分离全过程

2012-08-02 
Mysql-proxy主从搭建读写分离全过程废话不说!Mysql-proxy是什么,大家都知道,不知道的就别往下看了...首先

Mysql-proxy主从搭建读写分离全过程

废话不说!

Mysql-proxy是什么,大家都知道,不知道的就别往下看了...
首先搭建 mysql 主从数据库,参考: http://blog.csdn.net/swengineer/archive/2011/03/11/6239711.aspx

下载 mysql-proxy 最新版,本文撰写时最新版本为 MySQL Proxy 0.8.1 alpha

安装 mysql-proxy 步骤如下:

解压 mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit.gz

tar zxvf mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit.gzcp -R mysql-proxy-0.8.1-linux-glibc2.3-x86-32bit /usr/local/proxy-mysql


新建或编辑 /etc/mysql-proxy.cnf 文件,添加以下内容 ( 具体参数根据实际情况修改 ) :

vi /etc/mysql-proxy.cnf[mysql-proxy]admin-username = zhangdongyuadmin-password = 123123daemon = truekeepalive = trueproxy-backend-addresses = 192.168.0.88:3306proxy-read-only-backend-addresses = 192.168.0.88:3307proxy-lua-script = /usr/local/proxy-mysql/share/doc/mysql-proxy/rw-splitting.luaadmin-lua-script = /usr/local/proxy-mysql/share/doc/mysql-proxy/admin-sql.lualog-file = /usr/local/proxy-mysql/cn.loglog-level = debug

?

主要参数注解:


proxy-backend-addresses??????????????????? mysql 主库(写)地址

proxy-read-only-backend-addresses???? mysql 从库(读)地址

proxy-lua-script???????????????????????????????? 读写分离脚本

admin-lua-script???????????????????????????????? admin 脚本

admin-username???????????????????????????????? 数据库用户名(主从上都需建立相同用户)

admin-password???????????????????????????????? 数据库密码

daemon???????????????????????????????????????????? daemon 进程运行

keepalive?????????????????????????????????????????? 保持连接(启动进程会有 2 个,一号进程用来监视二号进行,如果二号进程死掉自动重建,此参数在旧版本中无法使用)

编辑 profile/.bash_profile 脚本

vi /etc/profile( 或者 .bash_profile)LUA_PATH="/usr/local/proxy-mysql/share/doc/mysql-proxy/?.lua"export LUA_PATHexport PATH=$PATH:/usr/local/proxy-mysql/bin:wqsource /etc/profile

?

为方便建立建立 mysql-proxy.sh 脚本

#!/bin/bashmode=$1if [ -z "$mode" ] ; thenmode="start"ficase $mode instart)mysql-proxy --defaults-file=/etc/mysql-proxy.cnf>/usr/local/proxy-mysql/cn.log &;;stop)killall -9 mysql-proxy;;restart)if $0 stop ; then$0 startelseecho  "Restart failed!"exit 1fi;;esacexit 0 
?

if not proxy.global.config.rwsplit then proxy.global.config.rwsplit = { min_idle_connections = 1, # 修改最小连接为 1 max_idle_connections = 2, # 修改最大连接为 2 is_debug = true #debug 为 true }end

?

?

注:生产环境一定要根据实际情况配置相关文件,至于lua文件强烈推荐读者自行修改,目前正在研究lua文件的优化与定制,不久会发上来(果断时间再说了,用到时候再仔细研究下..忙啊..)。

热点排行