主从复制原理:从机(slave)通过读取和同步主机(master)上的二进制日志上的事件(events),在从机本地的数据库中来重现这些操作,从而达到复制的效果。
主:192.168.100.101
从:192.168.100.102
一:确保已经安装了mysql 8.0,两台机器最好版本一致
二、搭建主从复制
1、配置主机
1.1、打开配置文件
vim /etc/my.cnf # 编辑默认的配置文件
1.2、在文件中的mysqld的组中添加一个选项
server-id = 1 #必须数字唯一,建议使用ip地址的最后一位
log-bin=mysql-bin #开启bingo日志记录binlog-do-db=68kejian-test #指定数据库,不配置默认复制所有的数据库
expire_logs_days = 3 #log日志过期天数
binlog_format = ROW
1.3、重启Mysql服务
service mysql restart
2、从机配置
从机配置同主机一致
server-id = 2
bind-address=0.0.0.0
3、为复制创建用户
3.1、给主机创建从机用户
CREATE USER 'repl'@'192.168.100.102' IDENTIFIED BY '123456';
‘repl’:从机用户名
‘192.168.100.102’ :从机IP
‘password’:从机数据库密码
3.2、创建完用户,赋予权限
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.100.102';
3.3、主机上执行命令
show master status;
4、在从机上建立主机的配置
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='101.200.80.222',
SOURCE_USER='repl',
SOURCE_PASSWORD='Spf123qwe*',
SOURCE_LOG_FILE='mysql-bin.000003',
SOURCE_LOG_POS=270;
5、开始主从复制服务
start REPLICA;
SHOW REPLICA STATUS;
注意:每次服务器重启需要查询主机的日志,即执行指令:show master status;先stop slave;然后从机上重新配置参数,start slave 执行一次