主从复制与读写分离技术实例(一)主从复制

2016-02-29 15:16:50

标签:linux MySQL 服务器

系统版本:CentOS 6.5   MySQL版本:mysql-5.5.38


    生产环境下,如果对同一个数据库服务器即做写服务又做读服务,无论是从安全性、高可用性还是高并发等各个角度都不能满足实际需求,因此,一般都用多台数据库服务器通过主从复制来同步数据提高安全性,再通过读写分离来提升数据库的并发负载能力,以及高可用性。


案例拓扑图:

mysql--——一(一—)主从 (变形虫)_第1张图片

案例环境:

mysql--——一(一—)主从 (变形虫)_第2张图片


搭建MySQL主从复制

MySQL的主从复制与读写分离密不可分,只有在实现主从复制的前提下才能完成读写分离

一、建立时间同步环境

1.在Master(MySQL服务器上安装配置ntp服务 

wKiom1bTyyHgCMTDAAAQUmK-31M367.jpg

wKioL1bTy9mRBigwAAAQaubs4OI767.jpg

wKioL1bTzKmyNK0qAABSSF4sD1M075.jpg

启动时间同步服务器

wKioL1bTzS2wVAyGAAAY1VGCH_U155.jpg

注意防火墙,ntpd服务的端口号是udp的123

wKioL1bT1yqD8ldCAAA9U3aa5oY458.jpg


2.在两个Slave(MySQL服务器上分别安装ntpdate并进行与Master的时间同步

wKiom1bT1cGj1YwiAAARzmkN0AI088.jpg

wKioL1bT12_BNG6_AAAyOEJL-WU305.jpg


二、安装MySQL数据库,分别在Master、Slave1和Slave2上安装

安装数据库的部分请参考: 《mysql数据库的源码安装》

注意防火墙:安装好MySQL之后,防火墙开启对应的端口号

wKioL1bT5-_xNsLZAAA9u5_Qujo700.jpg


三、配置Master(MySQL)服务器

1.在/etc/my.cnf配置文件中修改和添加如下内容:

wKiom1bT2HOjGVdzAAAPrm8iZoI279.jpg

wKiom1bT8kDi-GVfAABBTj-YGG8772.jpg

重启mysql服务

wKioL1bT3CjT_woMAAAkkizp8NE465.jpg


2.登录MySQL程序,给从服务器授权(为从服务器创建一个用户为“slaves”,密码是“123456”,授予“replication slave”复制权限)

wKioL1bT4mizIwsTAAAPD6NsvNA201.jpg

wKioL1bT3wujdivkAAArC_B5NR4329.jpg


3.查看二进制文件的状态信息,其中File列显示日志名,Position列显示偏移量,这两个值后面会用到

mysql--——一(一—)主从 (变形虫)_第3张图片

Master(MySQL)服务器配置完成


四、配置Slave(MySQL)服务器

1.在Slave1服务器的/etc/my.cnf配置文件中修改和添加如下内容:

wKiom1bT38aTy89bAAAPrm8iZoI127.jpg

wKioL1bT4cbTaUzPAABAFLUlmiQ257.jpg

重启mysql服务

wKiom1bT4W3zmKmzAAAkkizp8NE971.jpg


2.登录MySQL程序,配置同步

wKiom1bT4kbTX2qGAAAPD6NsvNA689.jpg

wKioL1bT47_i6ca7AAA35vuu4L8402.jpg

注意配置项中“master_log_file”和“master_log_pos”分别指定刚刚查看的主MySQL服务器的二进制文件名和偏移量


3.启动Slave1服务器的同步功能

wKioL1bT5zzS_8shAAAJ7CgiB3U087.jpg


查看Slave状态,确保图中的两个值为YES

mysql--——一(一—)主从 (变形虫)_第4张图片


在Slave2服务器上做同样的操作,只有配置文件my.cnf中的server-id不能相同,可以将值改成3


五、验证主从复制效果

1.在主服务器上新建数据库test_db

wKioL1bT7izjPv3AAAAZnIHIJCw879.jpg


2.在服务器上查看是否有会出现这个test_db的数据库

mysql--——一(一—)主从 (变形虫)_第5张图片

可以看到在从服务器上新增了test_db这个库,主从复制成功


、lzyi1