centos7 mysql主从同步

centos7 mysql主从同步

一、准备两个mysql服务并修改配置文件

1、总体配置思路

数据库ID号, 为1时表示为Master,其中master_id必须为1到232–1之间的一个正整数值,主从server-id不能一样
启用二进制日志
配置二进制日志格式(如果使用mycat2进行读写分离官网建议生产模式用row格式)
从库开启中继日志
需要同步的二进制数据库名
同步磁盘提交的次数(可不配,默认为0,当缓存满了就同步到磁盘)
不需要同步的二进制数据库

2、主库配置文件添加:

server-id=1
log-bin=mysql-bin
binlog_format=mixed
#sync-binlog=1
binlog-do-db=slavetest
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=sys

3、从库配置文件添加:

server-id=2
log-bin=mysql-bin
binlog_format=mixed
relay-log=mysql-relay
#sync-binlog=1
replicate-do-db=slavetest
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=performance_schema
replicate-ignore-db=sys

二、为同步添加账号(一般不用root账号)

1、创建用户
创建用于复制的账号,由于主从同步的默认方式非ssl模式,mysql8之后的连接默认要求ssl,故创建时指定为旧版加密方式(WITH mysql_native_password)
create user 'username'@'localhost' identified with mysql_native_password by 'password';
2、为用户分配同步权限
grant replication slave on *.* to 'username'@'localhost';

三、进行主从同步配置

1、获取主库bin-log-file和bin-log-pos信息
show master status
记录File和Position的信息

2、从库配置主库信息

change master to
master_host='127.0.0.1',
master_user='slavetest',
master_password='slavetest',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=874

3、从库开启同步和查看同步状态
开始同步
start slave;
查看状态
show slave status\G

当Slave_IO_Running和Slave_SQL_Running都为yes的时候才说明同步正常。

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

四、可能出现的情况

Slave_IO_Running为Connecting或者Slave_IO_State为Connecting to source时,导致的原因可能是mysql8的密码方式采用的跟之前的不同,需要这么来使用就可以了在从库进行授权位置的时候添加参数:get_master_public_key=1。

Slave_IO_State: Connecting to source
Slave_IO_Running: Connecting

即配置主库信息的时候添加(需要暂停同步):

change master to
master_host='127.0.0.1',
master_user='slavetest',
get_master_public_key=1,
master_password='slavetest',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=874;

然后重新开启同步。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值