# mysql主库配置
# 集群唯一标识,主库从库不能重复(值为数据库IP)
server_id=88
# 开启二进制日志
log_bin=mysql-bin
#日志有效期(天)< mysql8.4
expire_logs_days=7
从库同步主库的数据,需要先连接到主库。因此需要创建一个远程连接的账户:
如 :创建一个远程连接账户’slave’,密码为’slave’
CREATE USER 'slave'@'%' IDENTIFIED BY 'slave';
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%';
flush privileges;
复制主机的数据库,需要先查询主机数据库二进制日志的文件名和文件所在位置的,命令如下:
SHOW MASTER STATUS;
从机开始同步之前,主机不能再进行写操作,如果主机仍在进行写操作,会导致同步失败,导致同步无法继续执行。
# mysql主库配置
# 集群唯一标识,主库从库不能重复(值为数据库IP)
server_id=101
# 开启二进制日志
log_bin=mysql-bin
#日志有效期(天)
expire_logs_days=7
CREATE USER 'manager'@'%' IDENTIFIED BY 'manager';
GRANT ALL PRIVILEGES ON *.* TO 'manager'@'%';
FLUSH PRIVILEGES;
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
从数据库执行同步命令 ( < mysql 8.4)
change master to master_host='192.168.0.185',
master_user='root',
master_password='root',
master_log_file='mysql-bin.000001',master_log_pos=1063;
# 开始同步
start SLAVE;
master_log_file 和 master_log_pos
通过主机执行 : SHOW MASTER STATUS; 查询
CHANGE REPLICATION SOURCE TO
SOURCE_HOST='192.168.0.185',
SOURCE_USER='root',
SOURCE_PASSWORD='root',
SOURCE_LOG_FILE='mysql-bin.000002',
SOURCE_LOG_POS=157;
START REPLICA;
show slave status;
>= 8.4
show REPLICA STATUS;