mysql主从复制原理及配置方法+半同步操作

mysql的扩展:
1.读写分离
2.复制:每个节点有相同的数据集,向外扩展,基于二进制日志的单向复制
复制的作用:
1.数据分布
2.负载均衡读操作
3.备份
4.高可用和故障切换
5.mysql升级测试
复制的架构:
1.一主一从
2.一主多从
主从复制的过程:
1.主节点数据更新
2.主节点写入binlog
3.主节点dump线程,发送binlog events到从节点
4.从节点 i/o线程,请求并接受主节点发送的binlog events,保存在relay log
5.从节点 sql线程,从relaylog读取日志事件,本地完成重放
复制相关的文件:
master.info 从节点连接至主节点的相关信息,如账号密码、主节点地址等
relay-log.info
mariadb-relay-bin.0000 中继日志,保存从主节点复制来的二进制日志
主从复制的特点
默认情况异步复制,即主节点更新数据完成后,立即返回到客户端,而不等待复制活动是否完成
客户端访问性能良好,但是容易出现主从数据不一致
配置一主一从:
(mysql5.7,主IP172.29.9.5,从ip172.29.9.8)
主节点操作:
1./etc/my.cnf
[mysqld]
server-id=5
log-bin
2.创建复制用户
GRANT REPLICATION SLAVE ON . TO repluser@‘172.29.9.%’ IDENTIFIED BY ‘123’;
3.查看binlog信息
mysql> show master logs;
±-----------------±----------+
| Log_name | File_size |
±-----------------±----------+
| mysql-bin.000001 | 177 |
| mysql-bin.000002 | 776 |
| mysql-bin.000003 | 424
从节点操作:
1./etc/my.cnf
[mysqld]
server-id=8
read_only=on
2.使用复制用户连接主服务器
CHANGE MASTER TO
MASTER_HOST=‘172.29.9.5’,
MASTER_USER=‘repluser’,
MASTER_PASSWORD=‘123’,
MASTER_PORT=3306,
MASTER_LOG_FILE=‘mysql-bin.000003’,
MASTER_LOG_POS=424;
3.启动slave 线程 START SLAVE;
4.查看 SHOW SLAVE STATUS/G

配置主从半同步
主节点:
INSTALL PLUGIN rpl_semi_sync_master SONAME ‘semisync_master.so’;
SHOW PLUGINS;
SET GLOBAL rpl_semi_sync_master_enabled=1;
SET GLOBAL rpl_semi_sync_master_timeout=3000;
SHOW GLOBAL VARIABLES LIKE ‘%SEMI%’;
从节点
INSTALL PLUGIN rpl_semi_sync_slave SONAME ‘semisync_slave.so’;
SET GLOBAL rpl_semi_sync_slave_enable=1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值