基于Mysql-Proxy实现Mysql的主从复制以及读写分离(下)
昨天谈到了Mysql实现主从复制,但由于时间原因并未讲有关读写分离的实现,之所以有读写分离,是为了使数据库拥有双机热备功能,至于双机热备,特指基于高可用系统中的两台服务器的热备(或高可用),因两机高可用在国内使用较多,故得名双机热备,双机高可用按工作中的切换方式分为:主-备方式(Active-Standby方式)和双主机方式(Active-Active方式),主-备方式即指的是一台服务器处于某种业务的激活状态(即Active状态),另一台服务器处于该业务的备用状态(即Standby状态)。而双主机方式即指两种不同业务分别在两台服务器上互为主备状态(即Active-Standby和Standby-Active状态)。接下来开始使用Mysql-Proxy实现读写分离。
环境
系统:CentOS6.5
Master:172.16.19.2
Slave:172.16.19.24
mysql-proxy:172.16.19.14
安装就不说了,基本都是yum install进行安装的。和昨天的一样(其实就是接着昨天的来~)。
读写分离的实现
首先,在第三台服务器安装mysql-proxy:yum install mysql-proxy。
然后修改配置文件:
1 [mysql-proxy] 2 daemon = true #以后台守护进程方式启动 3 pid-file = /var/run/mysql-proxy.pid 4 log-file = /var/log/mysql-proxy.log 5 log-level = debug #设置日志级别为debug,可以在调试完成后改成info 6 max-open-files = 1024 7 plugins = admin,proxy 8 user = mysql-proxy 9 # 10 #Proxy Configuration 11 proxy-address = 0.0.0.0:3307 #指定mysql-proxy的监听地址 12 #proxy-address = 172.16.19.24:4040 13 #proxy-backend-addresses = localhost:3306 14 proxy-backend-addresses = 172.16.19.2:3306 #设置后台主服务器:主服务器,master可读写 15 proxy-read-only-backend-addresses = 172.16.19.24:3306 #设置后台从服务器:从服务器,slave,只读 16 proxy-lua-script = /usr/lib64/mysql-proxy/lua/rw-splitting.lua #设置读写分离脚本路径,可在官网下载mysql-proxy包,解压后 17 #proxy-skip-profiling = true 18 # 19 # Admin Configuration 20 #admin-address = 0.0.0.0:4041 21 admin-lua-script = /usr/lib64/mysql-proxy/lua/admin.lua #设置管理后台lua脚本路径,改脚本默认没有要自动定义 22 admin-username = root #设置登录管理地址用户 23 admin-password = 123456 #设置管理用户密码
设置完成后,即可执行:service mysql-proxy start启动服务。
使用mysql -uroot -p -h172.16.19.14 --port=3307进入数据库查看或更改数据库。
使用mysql -uroot -p -h172.16.19.14 --port=4041进入数据库管理数据库。
若没有用户通过mysql-proxy连接到后端,则状态为unknown,否则的话为up。至此,mysql 的主从复制以及读写分离就实现了。
PS:本博客欢迎转发,但请注明博客地址及作者,因本人水平有限,若有不对之处,欢迎指出,谢谢~
博客地址:http://www.cnblogs.com/voidy/
博客新址:http://voidy.net
<。)#)))≦