十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、前言:读写分离的基本原理
目前累计服务客户上千家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供网站制作、成都做网站、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联公司始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。mysql的读写分离的基本原理是:让master(主数据库)来响应事务性操作,
让slave(从数据库)来响应select非事务性操作,
然后再采用主从复制来把master上的事务性操作同步到slave数据库中。实现简单的负载均衡。
二、前期准备工作:
1、准备两台服务器,我这里准备的是192.168.4.122(主),192.168.4.123(从)
另外准备一台服务器安装中间件服务器(192.168.4.125)
2、首先把两台服务器做好主从同步。
3、准备读写分离的软件:maxscale-2.1.2-1(中间件)
三、maxscale安装和配置(4.125)
1、安装:rpm -ivh maxscale-2.1.2-1.rhel.7.x86_64.rpm
2、修改配置文件:vim /etc/maxscale.cnf
54-60行注释掉,87-91注释掉
10 threads=auto
18 [server1]
19 type=server
20 address=192.168.4.122
21 port=3306
22 protocol=MySQLBackend
23 [server2]
24 type=server
25 address=192.168.4.123
26 port=3306
27 protocol=MySQLBackend
35 [MySQL Monitor] //监视数据库的配置
36 type=monitor
37 module=mysqlmon
38 servers=server1, server2
39 user=scalemon //监控
40 passwd=123456
41 monitor_interval=10000
63 [Read-Write Service] //配置查询读写权限的帐号
64 type=service
65 router=readwritesplit
66 servers=server1, server2
67 user=maxscale //接收客户端连接请求时,连接的用户名和密码在数据库服务上是否存在
68 passwd=123456
69 max_slave_connections=100%
104 port=4010
3、在主库(4.122)上添加上面需要的两个授权用户
grant replication slave,replication client on *.* to scalemon@'%' identified by "123456";
grant select on mysql.* to maxscale@'%' identified by "123456";
4、启动服务:maxscale -f /etc/maxscale.cnf
停止服务:ps -C maxscale(查进程) kill -9 13109(杀进程)
查看服务是否启动:netstat -natulp | grep maxscale
5、在主库(4.122)上添加用于客户端连接服务器的用户名
grant all on *.* to student@'%' identified by '123456';
6、在4.125上:maxadmin -P4010 -uadmin -pmariadb //访问控制后台
list servers //显示所有服务器主机,可以看到服务器的运行信息
7、用宿主机做客户端连接中间件的登陆方法:
mysql -h292.168.4.125 -P4006 -utest -p123456
8、测试方法:当从挂掉后,客户端可写可读;
但是当主挂掉后,客户端不可读不可写
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。