Mariadb主从复制

主从复制原理

主节点线程:

dump thread:为每个slave的I/O thread启动一个dump线程,用于向从节点发送binary log events

从节点线程:

I/O thread:向master请求二进制日志事件,并保存到中继日志中。

SQL thread:从中继日志中读取日志事件,在本地完成重放。

与复制功能相关的文件(从节点上):

master.info:用于保存slave连接至master时的相关信息。

relay-log.info:保存当前slave节点上已经复制的当前二进制日志和本地relay log日志的对应关系。

主从复制特点异步复制、主从复制数据不一致比较常见。

配置过程:

master配置:

修改配置文件:

在/etc/my.cnf中添加以下内容
[mysqld]              配置文件中必须分组,没有此项启动服务会报不识别此变量错误
log_bin                启用二进制日志
server_id=#        设置主从拓扑,主从ID必须唯一,默认server_id=1
log-basename=master 可选项,设置datadir中日志名称,确保不依赖主机名

添加复制账号并授权

GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'HOST' IDENTIFIED BY  'replpass';  

slave配置:

修改配置文件:

在/etc/my.cnf中添加以下内容

[mysqld]
server_id=# 
read_only=ON                        设置数据库只读
relay_log=relay-log                 relay log的文件名,默认值hostname-relay-bin
relay_log_index=relay-log.index 默认值hostname-relay-bin.index

说明:修改完配置文件重新启动数据库

使用master创建的复制账号连接到主节点,并启动复制线程

mysql> CHANGE MASTER TO MASTER_HOST='host',
        MASTER_USER='repluser',
        MASTER_PASSWORD='replpass',
        MASTER_LOG_FILE=' mariadb-bin.xxxxxx', 
        MASTER_LOG_POS=#;   从备份文件中获取
mysql> START SLAVE [IO_THREAD|SQL_THREAD];

 相关官网

https://mariadb.com/kb/en/library/setting-up-replication/
https://dev.mysql.com/doc/refman/5.5/en/replication-configuration.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韩华盛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值