对存在过期 binlog 的 MySQL5.7 添加从服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对存在过期 binlog 的 MySQL5.7 添加从服务器相关的知识,希望对你有一定的参考价值。

数据库版本:mysql 5.7
原数据库:mysql01
从数据库:mysql02

原数据库配置文件

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
server-id=1
gtid_mode=on
enforce_gtid_consistency=on
log_bin
binlog_format=row
expire-logs-days=1
slave_parallel_type=logical_clock
slave_parallel_workers=4

从数据库配置文件

datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
server-id=2
gtid_mode=on
enforce_gtid_consistency=on
log_bin
binlog_format=row
expire-logs-days=1
slave_parallel_type=logical_clock
slave_parallel_workers=4

停止原数据库和从数据库服务

systemctl stop mysqld

删除从服务器目录/var/lib/mysql下的内容

rm -rf /var/lib/mysql/*

将原服务器目录/var/lib/mysql的文件拷贝到从服务器

scp -r /var/lib/mysql/* mysql02:/var/lib/mysql
chown -R mysql.mysql /var/lib/mysql

删除从服务器的auto.cnf,重启时会重新生成server-uuid

rm -f /var/lib/mysql/auto.cnf

启动原服务器和从服务器MySQL服务

systemctl start mysqld

创建复制账号

set sql_log_bin=0;
alter user [email protected]‘localhost‘ identified by ‘MySQL5.7‘;
create user [email protected]‘192.168.1.%‘ identified by ‘MySQL5.7‘;
grant all on *.* to [email protected]‘192.168.1.%‘;
flush privileges; 
set sql_log_bin=1;

将从服务器指定到主服务器

change master to master_host=‘192.168.1.224‘,master_user=‘root‘,master_password=‘MySQL5.7‘,master_auto_position=1;
start slave;
show slave statusG

以上是关于对存在过期 binlog 的 MySQL5.7 添加从服务器的主要内容,如果未能解决你的问题,请参考以下文章

Windows下Mysql5.7开启binlog步骤及注意事项

mysql5.7 参数记录 (持续更新)

Mysql-xtrabackup 与MySQL5.7 binlog 实现数据即时点恢复

有关binlog的那点事(mysql5.7.13)

MySQL5.7应当注意的参数

MySQL5.7应当注意的参数