1.修改配置,需要重启
master my.ini配置
server-id=1 (注意不是server_id,不能重复)
log_bin="D:/mysqlData/binlog/"
log_bin_index="D:/mysqlData/binlog_index/" (可能需要加写权限)
expire_logs_days=7
binlog_format=MIXED(也可设置为其它选项,ROW,MIXED)
slave my.ini配置
server-id=1 (注意不是server_id,不能重复)
slave-skip-errors=1017,1062 (跳过部分错误)
replicate-do-db=test_copy (要同步的数据库)
replicate-do-db=test_copy2 (要同步的数据库)
log-slave-updates (同步保存从master过来的binlog)
可通过以下sql验证server-id是否设置成功并不重复
show variables like 'server_id';
可通过以下sql验证日志是否开启成功
SHOW VARIABLES LIKE 'log_bin';
2.创建同步账号(在master上)
grant replication slave on *.* to 'test'@'10.%' identified by 'test';
flush privileges;
show master status;(获取日志文件名及偏移量)
3.设置slave日志文件及偏移量
CHANGE MASTER TO MASTER_HOST='10.*' ,(master的ip)
MASTER_USER='test',
MASTER_PASSWORD='test',
MASTER_PORT=3306,
MASTER_LOG_FILE='.00001',(日志文件名,步骤2获取)
MASTER_LOG_POS=432;(偏移量,步骤2获取)
如果设置错误了,可执行以下sql重置
stop slave;
reset slave all;
4.启动salve同步
start slave;
show slave status
如果Slave_IO_Running=YES,Slave_SQL_Runing=YES表示成功
可随便建个库试验一下
给自己记录一下,如有疑问请留言,不过可能我也不会```
mysql 5.x 主从同步(单向)
于 2023-02-17 09:56:26 首次发布