基于Mysql-Proxy实现Mysql的主从复制以及读写分离(下)

时间:2023-03-09 13:28:39
基于Mysql-Proxy实现Mysql的主从复制以及读写分离(下)

基于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。

  然后修改配置文件:

  [mysql-proxy]
daemon = true #以后台守护进程方式启动
pid-file = /var/run/mysql-proxy.pid
log-file = /var/log/mysql-proxy.log
log-level = debug #设置日志级别为debug,可以在调试完成后改成info
max-open-files =
plugins = admin,proxy
user = mysql-proxy
#
#Proxy Configuration
proxy-address = 0.0.0.0: #指定mysql-proxy的监听地址
#proxy-address = 172.16.19.24:
#proxy-backend-addresses = localhost:
proxy-backend-addresses = 172.16.19.2: #设置后台主服务器:主服务器,master可读写
proxy-read-only-backend-addresses = 172.16.19.24: #设置后台从服务器:从服务器,slave,只读
proxy-lua-script = /usr/lib64/mysql-proxy/lua/rw-splitting.lua #设置读写分离脚本路径,可在官网下载mysql-proxy包,解压后
#proxy-skip-profiling = true
#
# Admin Configuration
#admin-address = 0.0.0.0:
admin-lua-script = /usr/lib64/mysql-proxy/lua/admin.lua #设置管理后台lua脚本路径,改脚本默认没有要自动定义
admin-username = root #设置登录管理地址用户
admin-password = #设置管理用户密码

  设置完成后,即可执行:service mysql-proxy start启动服务。 

  使用mysql -uroot -p -h172.16.19.14 --port=3307进入数据库查看或更改数据库。

  使用mysql -uroot -p -h172.16.19.14 --port=4041进入数据库管理数据库。

基于Mysql-Proxy实现Mysql的主从复制以及读写分离(下)

  若没有用户通过mysql-proxy连接到后端,则状态为unknown,否则的话为up。至此,mysql 的主从复制以及读写分离就实现了。

PS:本博客欢迎转发,但请注明博客地址及作者,因本人水平有限,若有不对之处,欢迎指出,谢谢~

  博客地址:http://www.cnblogs.com/voidy/

  博客新址:http://voidy.net

  <。)#)))≦