高性能MYSQL—数据库的读写分离(mysql-proxy)
1.什么是读写分离?
MySQL读写分离是指让master处理写操作,让slave处理读操作,非常适用于读操作量比较大的场景,可减轻master的压力。
使用mysql-proxy实现mysql的读写分离,mysql-proxy实际上是作为后端mysql主从服务器的代理,它直接接受客户端的请求,对SQL语句进行分析,判断出是读操作还是写操作,然后分发至对应的mysql服务器上。
2.为什么要读写分离?
因为数据库的写操作相对读操作是比较耗时的,所以数据库的读写分离,解决的是数据库的写入,影响了查询的效率。
3.读写分离的实现
实验环境:
- selinux and firewalld disabled
- server1:172.25.254.1(master)
- server2:172.25.254.2(slave)
- server3:172.25.254.3(mysql-proxy)
server1和server2要实现主从复制,这里就不多赘述了,详情见上一篇博文
mysql-proxy配置:
step1 配置mysql-proxy,创建主配置文件:
tar zxf mysql-proxy-0.8.5-linux-el6-x86-64bit.tar.gz -C /usr/local/
cd /usr/local/
ln -s mysql-proxy-0.8.5-linux-el6-x86-64bit mysql-proxy
cd /usr/local/mysql-proxy
mkdir conf
cd conf/
vim mysql-proxy.conf #创建配置文件
写入下面内容:注意不要加注释,否则会报错
1 [mysql-proxy]
2 user=root ##运行mysql-proxy用户
3 proxy-address=0.0.0.0:3306 ##mysql-proxy运行ip和端口