前面,在博文《MySQL之——MS主从复制(读写分离)实现》一文中,我们讲解了如何搭建MS模式的MySQL主从复制架构,即:一台Master、一台Slave的MySQL主从复制架构。那么,如何将MS(一Master对应一Slave)扩展为MSSS…(一Master对应多Slave)架构呢? 现在,我就为大家演示一下如何搭建MSS(一台Master,两台Slave)架构的MySQL主从复制,其他一Master对应多Slave的搭建方式类似。
注意:本文是基于《MySQL之——MS主从复制(读写分离)实现》一文写的,是博文《MySQL之——MS主从复制(读写分离)实现》的扩展,即:本文的实现方式是在《MySQL之——MS主从复制(读写分离)实现》一文的基础上增加了一台Slave服务器(192.168.0.154),本文来源gaodai#ma#com搞@@代~&码网并且对《MySQL之——MS主从复制(读写分离)实现》一文中的Slave服务器(192.168.0.153)的MySQL配置做了相应的修改。并使新增加的Slave服务器的Master指向上文《MySQL之——MS主从复制(读写分离)实现》中的Slave服务器(192.168.0.153),从而使《MySQL之——MS主从复制(读写分离)实现》一文的Slave服务器(192.168.0.153)变为中继Slave服务器。
阅读本文前,请首先阅读《MySQL之——MS主从复制(读写分离)实现》一文。
一、服务器规划
之前的服务器规划为两台,一台Master服务器(192.168.0.152),一台Slave服务器(192.168.0.153)。
现在服务器的规划为三台,一台Master服务器(192168.0.152),一台中继Slave服务器(192.168.0.153),一台Slave服务器(192.168.0.154)
具体如下:
主机名 | IP地址 | 节点 |
liuyazhuang152 | 192.168.0.152 | Master |
liuyazhuang153 | 192.168.0.153 | 中继Slave |
liuyazhuang154 | 192.168.0.154 | Slave |
二、主从配置
1、修改中继Slave服务器my.cnf文件
vim /etc/my.cnf
在原有配置中新增如下一行配置
log_slave_updates
说明:如果你在使用链式从服务器结构的复制模式 (A->B->C),你需要在服务器B上打开此项,此选项打开在从线程上重做过的更新的日志, 并将其写入从服务器的二进制日志.
具体如下:
[mysqld] server-id=2 log-bin=/data/mysql3306log/mysql-bin binlog_format=mixedrelay-log=/data/mysql3306log/slave-relay-bin relay-log-index=/data/mysql3306log/slave-relay-bin.indexsync_binlog=1 log_slave_updates#注意:下面这个参数需要修改为服务器内存的70%左右 innodb_buffer_pool_size = 512M innodb_flush_log_at_trx_commit=1 sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO lower_case_table_names=1 log_bin_trust_function_creators=1
修改之后要重启mysql:
service mysqld restart
2、修改Slave服务器my.cnf文件
[mysqld] server-id=3log-bin=/data/mysql3306log/mysql-bin binlog_format=mixedrelay-log=/data/mysql3306log/slave-relay-bin relay-log-index=/data/mysql3306log/slave-relay-bin.indexsync_binlog=1 #注意:下面这个参数需要修改为服务器内存的70%左右 innodb_buffer_pool_size = 512M innodb_flush_log_at_trx_commit=1 sql_mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_AUTO_VALUE_ON_ZERO lower_case_table_names=1 log_bin_trust_function_creators=1
3、SSH登录到中继服务器MySQL数据库
(1)在中继Slave数据库上创建用于主从复制的账户(192.168.0.154换成你的从数据库IP):
首先登陆MySQL服务器
mysql -uroot -proot