window 环境下 同一台机器 mysql 主从设置

1.环境介绍

windows10系统
主库 mysql 5.7
从库 mysql 8.0
当主从库版本不一致时,建议从低版本同步至高版本,这样能避免不必要的语法错误;
先进行数据初始化同步,将主库数据全部同步到备库

2.主库设置

2.1.查看bin 日志是否开启

如果Value 为 OFF 则未开启日志文件

show variables like 'log_bin';

2.2.开启bin 日志

binlog_do_db 同步的数据库

server-id=1
log-bin = D:/data/mysql/logs/mysql57/master-bin.log
log_bin_index = D:/data/mysql/logs/mysql57/master-bin.index
expire-logs-days = 14
max-binlog-size = 500M
binlog_do_db=localscm

2.3.重启mysql服务

net stop mysql57 --停止服务
net start mysql57 --开启服务

2.4.重新查看bin 日志是否开启

Value 为 ON即可

show variables like 'log_bin'; 

2.5.查询主库状态

show binlog events; --查询binlog 变动信息  
show master status; --查看主库 状态--

2.6.主库创建用户

create user test identified by '123456'
grant replication slave on *.* to 'test'@'%'
flush privileges;

到此,不要对主库进行操作;

3.备库设置

3.1.配置文件设置

server-id=2
log-bin=D:/data/mysql/logs/mysql/slave-bin.log
relay-log=slave-relay-bin
relay-log-index=slave-relay-bin.index

3.2.主从关联设置

(master_log_file,master_log_pos 根据 主库 show master status; 显示信息设置)

change master to master_host='127.0.0.1',master_port=3336,master_user='test',master_password='123456',master_log_file='master-bin.000002',master_log_pos=154;
start slave;--开启服务 stop slave; 关闭服务

3.3.显示备库状态

show slave status;

以下两个字段为YES才是正常的,如果不是可以查看Last_Error字段显示的报错信息
Slave_IO_Running YES
Slave_SQL_Running YES

4.意外

在第二部第3步,一直报错 Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids;这个报错是说server-id,主从库设置的是一样的;
但是在配置文件my.ini 里明显设置的是不一样的;
通过以下命令查询server-id 编号,确实一直,将从库设置为2,重新查看备库状态,显示正常

show GLOBAL variables like '%server%';  --查询server-id 编号 
show GLOBAL variables like '%log%'; --查询日志设置
set GLOBAL server_id=2

5.测试

delete from test where id=123456;

从库也删除了,测试正常;

posted @ 2021-05-10 16:37  lxpaopao  阅读(152)  评论(0编辑  收藏  举报