首页 > 技术文章 > 数据库的读写分离

cnds168 2021-09-27 11:35 原文

读写分离的环境:两台已经配置好主从同步服务器的系统一台新装的系统作为中间件(所有的服务器selinux必须在disabled状态下firewalled防火墙必须关闭)

第一步:在装好mysql的服务器上安装yum localinstall maxscale-2.1.2-1.rhel.7.x86_64.rpm 

第二步:查看软件的配置文件vim /etc/maxscale.cnf并修改参数(红色为添加修改的内容)

[server1]
type=serveq
address=192.168.0.10
port=3306
protocol=MySQLBackenid

[server2]
type=serveq
address=192.168.0.11
port=3306
protocol=MySQLBackend 

[MySQL Monitor]
type=monitor
module=mysqlmon
servers=server1,server2
user=myuser
passwd=123456
monitor_interval=10000

 

#[Read-Only Service]
#type=service
#router=readconnroute
#servers=server1
#user=myuser监控mysql的用户
#passwd=mypwd
#router_options=slave注释掉只读

[Read-Write Service]
type=service
router=readwritesplit
servers=server1,server2
user=maxuser读写用户
passwd=123456
max_slave_connections=100%

[MaxAdmin Listener]
type=listener
service=MaxAdmin Service
protocol=maxscaled
socket=default
prot=4016

syslog=1
#写入系统日志
maxlog=1
##是否记录日志
log_warning=1
log_notice=1
log_info=1
log_debug=0
##debug开启
log_augmentation=1
##日志递增
logdir=/var/log/添加到/ect/maxscale.cnf

cat /var/log/maxscale.log查看错误日志

maxscale -f /etc/maxscale.cnf重启服务

第三步:在主服务器上监控用户grant replication slave,replication client on *.* to myuser@'192.168.0.13'identified by '123456';

第四步:主服务器验证用户grant select on mysql.* to maxuser@192.168.0.13 identified by '123456';

第五步:刷新权限flush privileges;

第六步:在新的服务器上安装mysql

第七步:mysql -h192.168.0.10 -umaxuser -p123456登录查看是否正确在新的服务器上

第八步:在新的服务器上安装yum -y install net-tools

第九步:查看netstat -tnlp

想停止就是ps -ef|grep max然后kill进程号

第十步:在主服务器上创建测试用户业务真正使用的用户grant all on *.* to test@'192.168.0.13' identified  by'123456';  并刷新权限:flush privileges;

第十一步:mysql -h 192.168.0.13 -P 4006  -utest  -p123456在新的服务器上操作

第十二步:select  @@hostname;前面两台服务器也执行这项操作是读操作

第十三步:create database max123;写操作

然后去验证

 

推荐阅读