Mysql读写分离
mysql读写分离技术又称为mysql代理服务,通过在mysql主从同步的基础上增加一台代理服务器来实现将访问数据库时的读和写操作分配到不同服务器上来实现负载均衡,从而提高数据库访问的速度。
搭建mysql读写分离服务时,要先搭建mysql主从同步服务,其中主服务器负责写操作,即作为写服务器,从服务器负责读操作,即读服务器。搭建过程中要在代理服务器上安装代理软件以及mysql数据库。其具体的分配策略需要通过脚本实现,本文采用软件包默认脚本。
搭建步骤:
1、搭建mysql主从同步服务器
2、代理服务器安装代理软件并开启服务
本文使用mysql-proxy-0.8.3-linux-rhel5-x86-64bit.tar.gz代理软件包,该软件包无需安装,直接解压后即可使用。
(1)解压软件包
tar -zxf mysql-proxy-0.8.3-linux-rhel5-x86-64bit.tar.gz -C /usr/local/mysql-proxy
进入解压后的目录
(2)为分配策略脚本添加执行权限
其分配策略脚本位于软件目录下的/usr/local/mysql-proxy/share/doc/mysql-proxy/目录,其中的rw-splitting.lua就为策略脚本
chmod a+x rw-splitting.lua//为脚本添加执行权限
(3)释放3306端口并启动服务
netstat -tnlup | grep :3306//检查3306端口是否被占用
进入目录/usr/local/mysql-proxy/bin目录,其中mysql-proxy即为代理服务的启动脚本
使用./mysql-proxy [选项] 启动服务:
其中选项含义如下:
-P:指定代理监听的IP地址、端口
-r:指定读服务器的IP地址、端口
-b:指定写服务器的IP地址、端口
-s:指定lua脚本文件的路径
--keepalive:若进程崩溃,自动重启此进程
注意:该服务启动后需要一直运行,故在启动服务时可以将其置入后台,关闭服务时需要通过杀进程的方式来关闭。
3、测试