MySQL数据库同步服务器的数据读写分离配置。

通过配置读写分离,利用一个服务器,写入数据时,自动定向到主服务器;需要读取数据时,自动定向到从服务器,或主服务器。



一台新的主机,进行如下配置:

下载软件包:

yum -y install maxscale-2.1.2-1.rhel.7.x86_64.rpm
vim /etc/maxscale.cnf
  9 [maxscale]
 10 threads=auto   线程个数
 18 [server1]               
 19 type=server
 20 address=192.168.4.51
 21 port=3306
 22 protocol=MySQLBackend
 24 [server2]           添加server主机
 25 type=server
 26 address=192.168.4.52
 27 port=3306
 28 protocol=MySQLBackend
 37 [MySQL Monitor]         定义监控服务
 38 type=monitor
 39 module=mysqlmon
 40 servers=server1,server2
 41 user=myuser1
 42 passwd=mypwd..A123
 43 monitor_interval=10000
 52 #[Read-Only Service]         定义只读(注释不指定)
 53 #type=service
 54 #router=readconnroute
 55 #servers=server1
 56 #user=myuser
 57 #passwd=mypwd
 58 #router_options=slave
 65 [Read-Write Service]     定义读写分离服务
 66 type=service
 67 router=readwritesplit
 68 servers=server1,server2     在server1,2服务器之间进行
 69 user=myuser     不同用户操作不同的事情,所以与监控服务器指定的用户不同
 70 passwd=mypwd..A123
 71 max_slave_connections=100%
 75 [MaxAdmin Service]      定义管理服务
 76 type=service
 77 router=cli
 85 #[Read-Only Listener]      定义只读服务(注释不定义)
 86 #type=listener
 87 #service=Read-Only Service
 88 #protocol=MySQLClient
 89 #port=4008
 91 [Read-Write Listener]     读写分离服务
 92 type=listener
 93 service=Read-Write Service
 94 protocol=MySQLClient
 95 port=4006
 97 [MaxAdmin Listener]     定义管理服务
 98 type=listener
 99 service=MaxAdmin Service
100 protocol=maxscaled
101 socket=default
102 port=4016              指定端口号,默认4009


主服务器上授权操作(从服务器会自动同步):

grant replication slave, replication client on *.* to myuser1@'%' identified by 'mypwd..A123';
grant select on mysql.* to myuser@'%' identified by 'mypwd..A123';


分离服务器上的操作:

maxscale -f /etc/maxscale.cnf  启动服务
pkill -9 maxscale    杀进程,停服务

maxadmin -P4016 -uadmin -pmariadb   登陆管理服务器
MaxScale> list servers      查看管理服务器



下面是测试配置是否可行:

grant all on db.* to student@'%' identified by '111AAAaaa.';    在51新建用户

mysql -h192.168.4.56 -P4006 -ustudent -p111AAAaaa.        其他虚拟机登陆,读写测试


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。