(1)修改配置文件启用,必要设置:log_bin和server_id=1,设置好后重启
GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'192.168.239.%' IDENTIFIED BY 'admini';
(4)关闭防火墙
(1)必要设置:server_id=2,如果只做从服务器配置不用写log_bin
(3)在从节点上启动复制线程
输入一段代码,这段只要记住会运用help change命令就行
再次输入help CHANGE MASTER TO,可以看到
MASTER_LOG_FILE='c7ts-bin.000001',
(3)完成后start slave,可以用show slave status\G查看状态
二、级联复制
如果级联复制服务器数据库内容同步差很多,建议主服务器备份后,以还原方法给从服务器还原
mysqldump -A -F --single-transaction --master-data=1 | gzip > db.sql.gz
mysqlbinlog BINLOG --start-position=POSNUM > incr.sql
创建复制用户账号,grant replication slave on *.* to 'repluser'@'192.168.239.%' identified by 'admini'
关闭防火墙,然后进入数据库后和主服务器建立主从连接,输入指令help change master to
MASTER_LOG_FILE='c7ts-bin.000001',
3、show slave status\G检查输入信息是否正确
如果正常,start slave开始连接,连接之后show slave status\G
这里也是如果数据相差太多,还是建议用还原方法和前面的服务器同步
MASTER_LOG_FILE='centos7-1-bin.000001',
三、半同步复制
半同步复制实现:一主多从,如果至少一个从服务器同步成功,主服务器将会向客户端返回成功信息;或者所有从服务器长时间没有同步,超过了限定时长,主服务器也将会向客户端返回成功信息
主服务器建立复制账号,grant replication slave on *.* to 'repluser'@'192.168.239.%' identified by 'admini'
MASTER_HOST='192.168.239.200',
MASTER_LOG_FILE='master-bin.000001',
主服务器,进入mysql,show plugins检查是否有semisync_master.so插件,没有话安装
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
SET GLOBAL rpl_semi_sync_master_enabled=1;,写入文件时永久保存
SHOW GLOBAL VARIABLES LIKE '%semi%';
SHOW GLOBAL STATUS LIKE '%semi%';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
SET GLOBAL rpl_semi_sync_slave_enabled=1;
输入后还需要stop slave; start slave;
验证方法:主服务器执行指令前或者执行时,半同步服务器down掉,等主服务器返回后再上线半同步服务器,看数据是否写入半同步
此时发现10秒返回了成功信息(这10秒的设置可以自己设置为3秒),此时再上线从服务器看数据是否同步
4、此时我们加入复制过滤,因为复制过滤时不建议在主服务器添加选项,因此我们在从服务器上开始设置
我们实验有两台从服务器,此时从服务器一台设置数据库黑名单,一台设置表黑名单
后期如果有时间,将会补上SSL实验和Cluster实验