


至此虚拟机克隆完成
搭建MySQL主从复制

启动两台虚拟机:centos7-2(主机)centos7-3(从机)
修改主机配置:
vim /etc/my.cnf
#主服务器唯一id
server-id=1
#启动二进制日志
log-bin=mysql-bin
#设置不需要复制的数据库(可设置多个)
binlog-ignore-db=数据库名称
#设置需要复制的数据库
binlog-do-db=数据库名称
#设置binlog格式
binlog_format=STATEMENT


==***注意:需要复制的数据库是还没有创建的,因为mysql的主从复制是从接入的那一刻开始,不是复制全部***==
修改从机配置:
vim /etc/my.cnf
#从服务器唯一id
server-id=2
#启动中继日志
relay-log=mysql-relay

重启两台服务器的mysql服务并查看状态,确保启动成功
systemctl restart mysqld
systemctl status mysqld
授权从机复制数据
CREATE USER 'slave1'@'%' IDENTIFIED BY '123456';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
GRANT REPLICATION SLAVE ON *.* TO 'slave1'@'%';
flush privileges;
查看log日志及接入点信息

File:为log日志
Position:为接入点
Binlog_Do_DB:为要复制的库名
Binlog_Ignore_DB:为不要复制的库名
Binlog_Do_DB和Binlog_Ignore_DB设置一个即可
对应修改后复制到从机执行
CHANGE MASTER TO MASTER_HOST='192.168.171.100',
MASTER_USER='slave1',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_lOG_POS=751;
启动复制功能并查看主从复制状态,命令:
start slave;
show slave status \G
如图,红色框中为Yes即表名成功,如果不是,请查看黄色框中的Error相关报错信息,进行修复。

测试
CREATE DATABASE `mycat_01` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
show databases;
停止 从 服务复制功能
注意:这里的命令需要切换到3306端口,也就是mysql中执行,包括停止从复制,重新配置 主 ,开启从复制
停之前记得记录 Position 参数
-- 查看当前master信息,记录 Position
show master status \G
-- 停止从复制
stop slave;

重新配置 主 并开启从复制
-- 重新配置 主
reset slave;
-- 配置连接 主 的相关信息
-- CHANGE MASTER TO MASTER_HOST='192.168.171.100',
-- MASTER_USER='slave1',
-- MASTER_PASSWORD='shuo',
-- MASTER_LOG_FILE='mysql-bin.000001',
-- MASTER_lOG_POS=154;
-- 开启从复制
start slave;
开启完注意查看 从 状态,以确保成功
show slave status \G
end...