Mysql-6读写分离

MYSQL读写分离

原理: 基于主从结构的数据库集群,主库master处理事务增(insert),删(delete),改(update)等操作,从库slave处理select事务.
特点:

  • 提高查询效率,一定程度上减轻主服务器的压力,提高负载能力
  • 适合查询多更新少的情况下

拓扑图
在这里插入图片描述

proxy服务器使用maxscale中间件服务

rpm -ivh maxscale***.rpm
vim /etc/maxscale.cnf
[maxscal]  //定义线程
threads=auto //根据cpu自动调配
[server1]   //定义数据库服务器
type=server
address=192.168.4.51  //master主机ip地址
port=3306
protocol=MySQLBackend
[server2]
type=server
address=192.168.4.52 //slave主机ip
port=3306
protocol=MySQLBackupend
[MYSQL Monitor]  //定义要监视的数据库节点
type=monitor
module=mysqlmon
servers=server1,server2 //监控数据库列表
user=maxscalemon //监控用户
passwd=123qqq...A //密码
monitor_interval=10000 //监控间隙单位10000ms=10s
#[Read-Only Service]
#type=service
#router=readconnroute
#servers=server1
#user=myuser
#passwd=mypwd
#router_options=slave
//注释掉只读服务
[Read-Write Service] //定义读写分离数据库节点
type=service
router=readwritesplit
servers=server1,server2
user=maxscalerouter
passwd=123qqq...A
max_slave_connections=100%
[MaxAdmin Service]
type=service
router=cli
#[Read-Only Listener]
#type=listener
#service=Read-Only Service
#protocol=MySQLClient
#port=4008
//注释掉只读的端口
[Read-Write Listener] //定义读写分离端口号
type=listener
service=Read-Write Service
protocol=MySQlClinet
port=4006
[MaxAdmin Listerner]  //定义管理服务端口
type=listener
service=MaxAdmin Service
protocol=maxscaled
socket=default
port=4016  //指定端口
********************************************
在主/从服务器上授权监控用户和路由用户
只需在主服务器授权,从库自动复制
mysql> grant replication slave,replication client on *.* to maxscalemon@'%' identified by "123qqq...A";
 //创建监控用户
mysql>grant select on mysql.* to maxscalerouter@'%' identified by "123qqq...A";
//创建路由用户
proxy主机测试授权用户
 mysql -h 192.168.4.51 -umaxscalemon -p123qqq…A
mysql -h 192.168.4.52 -umaxscalemon -p123qqq…A
mysql -h 192.168.4.51 -umaxscalerouter -p123qqq…A
 mysql -h 192.168.4.52 -umaxscalerouter -p123qqq…A
启动代理服务
maxsacle -f /etc/maxscale.cnf  //查看进程
ps -C maxscale  //查看进程
netstat -anptu | grep maxscale  //产看服务端口
maxadmin -uadmin -pmariadb -P4016 //进入服务
MaxScale> list servers  查看服务
-------------------+-----------------+-------+-------------+--------------------
Server             | Address         | Port  | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
server1            | 192.168.4.51    |  3306 |           0 | Master, Running
server2            | 192.168.4.52    |  3306 |           0 | Slave, Running
-------------------+-----------------+-------+-------------+--------------------
master主服务器添加访问用户
create database gamedb
grant select,insert on gamedb.* to yaya@'%' identified by '123qqq...A'
client客户端方位代理服务器实现读写分离
mysql -h192.168.4.57 -P4006 -uyaya -p123qqq...A //-P指定读写分离端口
SQL语句测试
在从服务器添加数据,主服务器不显示,但客户端可以查询到,说明查询请求分配到了从服务器.-
..................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值