配置
1.系统版本:一个win10,一个winserver2012 (网上说其实不用相同版本的操作系统,试试)
2.数据库版本:8.0.21 为主 master,另一个台为8.0.22为从 slave (之后都已这两个单词代表主机和副本)
安装步骤
1.修改配置文件,开启log_bin,在 my.ini 新增
log-bin=D:/log/DESKTOP-PN68CLM-bin
max_binlog_size = 100M
expire_logs_days = 10
2.在master 上新建用户,并授予 任何远程 repl用户都能连接 master,进行复制操作的用户会授予REPLICATION SLAVE 权限
CREATE USER repl@'%' IDENTIFIED BY 'XXXXXXX';
GRANT REPLICATION SLAVE ON *.* TO repl@'%';
(8.0 不能 grant 创建用户)
3. 在my.ini配置master 信息
server-id=1 (master和slave id 不能一样)
binlog-do-db=world (需要同步的数据库)
binlog-ignore-db=mysql (不需要同步的数据库)
4.重启服务,锁定所有表 flush table with read lock,然后 用 show master status 查看master 主机信息
5.将master 的world 数据库 导出来,还原到slave 上,导出后 unlock tables 解锁表
MySQLdump-u root -h localhost -pXXXXX --databases world >world.sql
6.还原到 slave
mysql-u root-h localhost -pXXXXX mysql < world.sql
7.修改 slave 中的配置文件,(1) 在[mysqld] 添加 server-id=1 (2) 注释二进制日志 #log-bin=D:/log/XXXXXXXXXXXXX
8.slave 关闭 slave服务
stop slave
9.设置slave 复制相关信息,命令执行如下(最后两项写之前 在 master 上 show master status 的文件和偏移量 ,偏移量可以写 0 ,会自动匹配)
CHANGE MASTER to master_host='192.168.240.10',master_user='repl',master_password='232323',master_log_file='DESKTOP-PN68CLM-bin.000003',master_log_pos=0;
10.slave 开启 slave ,并查看状态
start slave;
show slave status;
只要 error 的列为空的,就成功了
最后主master 执行 插入,看看 slave是否同步,我这里反正是成功了,OK,就这样吧
关闭主从
主数据库 reset master; 从数据库 stop slave; reset slave all;