1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > MySQL主从复制环境搭建

MySQL主从复制环境搭建

时间:2023-08-17 14:49:57

相关推荐

MySQL主从复制环境搭建

一、主从复制原理

MySQL主从复制主要包含三个线程(Log Dump Thread、IO Thread、SQL Thread)和两个日志(Bin log、Relay log),Master的数据库变更会写到binlog中,binlog内容会通过Log Dump Thread线程发送给从节点,从节点的IO Thread线程读取到内容后会将内容写到Relay Log中,然后通过SQL Thread线程读取Relay Log并以SQL形式在Slave数据库执行。

主节点内容变更会写到binlog日志文件中;主节点log dump thread发送增量binlog到从节点,从节点通过IO Thread将内容写道Relay log中;从节点SQL Thread线程读取Relay log更新的内容,然后以SQL形式在从节点数据库中重新执行一次。

二、Master节点配置

2.1、开启binlog日志

在/etc/f中添加如下配置,配置完需重启MySQL服务。

# master info

# 设置server_id,同一局域网中需要唯一

server_id=1001

#二进制日志过期清理时间。默认值为0,表示不自动清理

expire_logs_days=30

# binlog文件名称

log-bin=mysql-bin

# 指定需要同步的数据库名称

# binlog_do_db=test

#指定不需要同步的数据库名称

binlog-ignore-db=mysql

#设置二进制日志使用内存大小(事务)

binlog_cache_size=1M

#设置使用的二进制日志格式(mixed,statement,row)

binlog_format=mixed

2.2、创建连接主库使用的账号

在master数据库中创建slave连接master使用的用户,用户创建完后需登录一次,否则导致从库一直处理connecting状态。

# 创建连接主库的账号

create user 'slave'@'192.168.1.100' identified by 'Slave@123';

# 授权账号权限

grant replication slave on *.* to 'slave'@'%';

# 刷新权限

flush privileges;

# 用户创建成功后需登录一次,否则可能导致从库一直connecting状态

quit;

mysql -uslave -p

三、 binlog信息查询

查看binlog日志名称及偏移量:show master status\g;

查看master中binlog状态,log_bin=ON代表已打开,OFF则关闭

三、Slave节点配置

3.1、从节点配置

在/etc/f中添加如下配置,配置完同样需重启MySQL服务。

# slave info

# 设置server_id,同一局域网中需要唯一

server_id=1002

# relay_log配置中继日志

relay_log=mysql-relay-bin

# slave设置为只读(具有super权限的用户除外)

read_only=1

3.2、配置Master相关信息

1、配置主库相关信息

#master_host:主节点ip

#master_user:主节点用户名(拥有replication slave权限的用户)

#master_port:用户对应的密码

#master_log_file:binlog文件名称(在主库中通过“show master status\g;”查看)

#master_log_pos:偏移量(在主库中通过“show master status\g;”查看)

#master_connect_retry:重试时间

change master to master_host='192.168.0.109',

master_user='slave',

master_password='Slave@123',

master_port=3306,

master_log_file='mysql-bin.000003',

master_log_pos=157,

master_connect_retry=30;

2、启动从库

start slave;

3.3、验证

通过show slave status \G;查询,如果Slave_IO_Running和Slave_SQL_Running状态都为Yes即代表配置成功。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。