| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> mysql主从复制集群搭建及原理 -> 正文阅读 |
|
[系统运维]mysql主从复制集群搭建及原理 |
在centos7中安装了5.6版本的mysql——两台机器 配置master主节点编辑文件my.cnf:vim /etc/my.cnf
?重启mysql服务:systemctl restart mysqld,查看master状态:show master status; ?配置从节点slavevim /etc/my.cnf
重启mysql服务:systemctl restart mysqld。进入mysql设置主从同步执行以下命令,这里设置了主节点的ip,端口,用户名,密码以及binlog文件名和位置。
查看slave状态:show slave status \G ? 注意:第一个红色框圈起来的表示同步master的binlog日志以及从哪个位置开始同步,它必须master中binlog文件名和日志位置一样;第二个红色框表示slave的读写线程和sql执行线程工作状态,如果为no则不可以工作,需要检查设置主从同步的命令是否正确或者存在其他问题。 测试到此为止mysql主从复制集群就搭建完成了,可以通过创建数据库mdemo和表user进行测试。这里博主已经创建好了,然后再master插入一条数据试试。
master slave ? 一般地,如果在主从过程中遇到从节点sql执行失败问题 可以通过以下命令解决问题
?我这里是因为master删除表数据,slave不存在该数据,需要在slave中补回这条数据,然后做以上命令解决问题。 全库同步或者部分同步以上完成的就是主从全库同步,而我们实际业务可能需要同步部分重要的数据库。例如配置只同步mdemo这个库 master节点:vim /ect/my.cnf
slave节点:
配置完成后重启mysql,查看master 状态,Binlog_Do_DB和Binlog_ignore_DB分别表示同步的db和忽略的db。 GTID同步GTID即全局事务ID,GTID同步也是基于binlog日志实现,在5.6中引入的同步方式。其原理是通过基于一个全局事务ID来标识同步进度,而全局事务ID全局唯一并且趋势递增,它保证master中提交执行的事务在主从集群中生成全局唯一的ID。GTID可以保证主节点上执行的事务在从节点中只执行一次,可以防止因为偏移量的问题导致数据不一致。 配置GTID同步 master
slave
重启mysql,并进入slave节点执行以下命令即可
mysql主从复制原理相信大家都知道mysql主从复制主要通过binlog日志来实现的,具体来说,master节点将提交的更新事务记录到binlog中,slave通过IO线程去master节点读取binlog日志到relaylog,然后sql线程会回放relaylog,将更新操作同步到slave数据库中。 另外,我们可以通过binlog来恢复丢失的数据或者拓展新的slave,具体通过msyqldump命令将全局数据导出到sql文件,
?然后执行以下命令导入数据
半同步复制异步复制是在更新完master节点数据后就响应客户端,不在等待任何slave节点的同步更新数据,这样可能出现master没有写入binlog日志就宕机了,从而导致数据丢失,这是mysql默认的同步方式;半同步复制就是master更新完数据并且至少一个slave节点更新完数据后再响应客户端,如果master在给定的时间还没有收到任何来自slave的更新数据响应,则会变为异步复制不在等待slave更新操作响应就直接响应客户端 搭建半同步复制集群 master通过两个命令就可以实现
slave
高可用架构MMM,MHA,MGR |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 23:02:18- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |