系统版本:CentOS 6.5 MySQL版本:mysql-5.5.38
生产环境下,如果对同一个数据库服务器即做写服务又做读服务,无论是从安全性、高可用性还是高并发等各个角度都不能满足实际需求,因此,一般都用多台数据库服务器通过主从复制来同步数据提高安全性,再通过读写分离来提升数据库的并发负载能力,以及高可用性。
案例拓扑图:
案例环境:
搭建MySQL主从复制
MySQL的主从复制与读写分离密不可分,只有在实现主从复制的前提下才能完成读写分离
一、建立时间同步环境
1.在Master(MySQL主)服务器上安装配置ntp服务
启动时间同步服务器
注意防火墙,ntpd服务的端口号是udp的123
2.在两个Slave(MySQL从)服务器上分别安装ntpdate并进行与Master的时间同步
二、安装MySQL数据库,分别在Master、Slave1和Slave2上安装
安装数据库的部分请参考: 《mysql数据库的源码安装》
注意防火墙:安装好MySQL之后,防火墙开启对应的端口号
三、配置Master(MySQL主)服务器
1.在/etc/my.cnf配置文件中修改和添加如下内容:
重启mysql服务
2.登录MySQL程序,给从服务器授权(为从服务器创建一个用户为“slaves”,密码是“123456”,授予“replication slave”复制权限)
3.查看二进制文件的状态信息,其中File列显示日志名,Position列显示偏移量,这两个值后面会用到
Master(MySQL主)服务器配置完成
四、配置Slave(MySQL从)服务器
1.在Slave1服务器的/etc/my.cnf配置文件中修改和添加如下内容:
重启mysql服务
2.登录MySQL程序,配置同步
注意配置项中“master_log_file”和“master_log_pos”分别指定刚刚查看的主MySQL服务器的二进制文件名和偏移量
3.启动Slave1服务器的同步功能
查看Slave状态,确保图中的两个值为YES
在Slave2服务器上做同样的操作,只有配置文件my.cnf中的server-id不能相同,可以将值改成3
五、验证主从复制效果
1.在主服务器上新建数据库test_db
2.在服务器上查看是否有会出现这个test_db的数据库
可以看到在从服务器上新增了test_db这个库,主从复制成功
原文地址:http://928004321.blog.51cto.com/10707688/1746025