1. 程式人生 > >對存在過期 binlog 的 MySQL5.7 添加從服務器

對存在過期 binlog 的 MySQL5.7 添加從服務器

存在 flush -i ORC .so binlog user gtid_mode top

數據庫版本: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 root@‘localhost‘ identified by ‘MySQL5.7‘;
create user root@‘192.168.1.%‘ identified by ‘MySQL5.7‘;
grant all on *.* to root@‘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 status\G

對存在過期 binlog 的 MySQL5.7 添加從服務器