mysql - Replication
一种比较简单的架构 Master/Slave
slave会从master读取binlog 来进行数据同步
一、典型的Replication复制架构
1.master-slaves
大部分是这样的应用,特别适合读多写少的场景,一些互联网的应用都这样搭建。
一个master多个slave,配置类似。master不知道有多少个slave,只做连接认证,
根据slave的IO线程信息返回给slave io线程
2.DualMaster(用的比较少)
互为Master/Slave
3. master-slave-slave-slave
二、master/slave的一个搭建
搭建的时候两台机器(最好是真实两台机器,环境类似)
master而言
----->server-id = 1;
----->logbin打开
-------------------其它一些细致的参数根据具体情况而定--------------
----->binlog-ignore-db=mysql不要复制的数据库
----->binlog-do-db=test要复制的数据库等等
这些参数一定要放在[mysqld]结点下,都是小写
reset master;
show variables like '%server%';
授权 远程的访问---> 虚拟机下可以访问
GRANT REPLICATION SLAVE ON *.* TO ' zhangsan'@'192.168.154.128' IDENTIFIED BY 'zhangsan';
slave 端,在虚拟机中配置的
关闭虚拟机linux防火墙 service iptables stop
my.cnf
server-id = 2;
master-host=192.168.1.101
master-user=zhangsan
master-password=zhangsan
replication-do-db=test
master-port=3306
关闭服务 service mysql stop;
service mysql start;
如果启动不了有错误可以通过mysql_install_db --user=mysql
可能有版本报master-host变量不认识
mysql有些版本不识别master-host参数,如果识别不用管。
如果不识别解决方案
只配置server-id
和replication-do-db 及其它跟复制内容相关的参数。
重启启动service mysql start
mysql -uroot -proot
slave stop;
change master to master_host='192.168.1.101', master_user='zhangsan', master_password='zhangsan', master_log_file='mysqlbin.000001', master_log_pos=0;
slave start;
三、复制的缺陷
slave端异步线程完成logbin读取数据同步操作
会有延迟,数据并不是实时同步的。
四、读写分离
master进行写操作,slave进行读操作
slave不能进行写操作,否则master/slave不同步
slave未必直接能读到最新的数据
----->权衡CAP原理三者只能选其二
如果做读写分离,程序员控制哪个数据源读,那个数据源写,风险比较大
将来会有数据切分及整合的中间件来处理这个事。
相关推荐
《PyPI官网下载的mysql-replication-0.19.tar.gz:Python数据库复制库解析》 在Python的开发环境中,PyPI(Python Package Index)是开发者获取和分享开源软件包的重要平台。当我们看到“PyPI官网下载 | mysql-...
`mysql-replication-0.17.tar.gz`是PyPI上一个名为`mysql-replication`的Python库的版本0.17的压缩包文件。这个库主要功能是为Python提供与MySQL数据库复制功能的接口。 MySQL复制是一种高可用性解决方案,它允许...
本篇将详细讲解基于提供的文件名所涵盖的三个关键知识点:MySQL双机集群、MySQL AB Cluster以及MySQL分布式集群部署。 1. MySQL双机集群: 双机集群,也称为主备复制,是一种常见的高可用性解决方案。在这个配置中...
【MySQL分布式数据库系统同步分析与实现】 MySQL是一个广泛使用的开源关系型数据库管理系统,因其低成本、高性能、可扩展性以及稳定性而备受青睐。在分布式系统环境中,数据库同步是确保多节点间数据一致性和高可用...
为了克服单点故障,分布式系统中通常会采用主从复制(Replication)的策略,根据复制的实时性不同,可以分为同步复制(Synchronous Replication)和异步复制(Asynchronous Replication)。 异步复制的实时性较低,...
- **复制改进**:包括半同步复制(semi-sync replication)、组复制(group replication)等新特性,增强了数据的一致性和可用性。 - **多源复制**:支持从多个主服务器接收数据复制,为分布式系统提供更好的灵活性...
《MySQL分布式实战宝典》视频教程是一套深入探讨MySQL分布式技术的专业课程,旨在帮助学习者掌握如何在实际项目中设计和部署高效的分布式数据库系统。在本教程中,你将了解到MySQL分布式的核心概念、最佳实践以及...
标题与描述:“MySQL分布式数据库集群高可用设计及应用”这一主题深入探讨了如何构建和维护一个高可用性的MySQL分布式数据库集群。在IT行业中,数据库的高可用性是确保业务连续性和数据安全的关键因素之一,特别是在...
"MySQL 5.7 基于组复制(MySQL Group Replication)" 本篇文章详细介绍了 MySQL 5.7 基于组复制(MySQL Group Replication)的配置说明,实为线上操作手册,在此分享,希望能帮助到有用到的朋友~ MySQL 组复制(MySQL...
在MySQL 8.0.20版本中,它为用户提供了更高级的功能和性能提升,尤其对于分布式数据库环境而言,MySQL Router扮演着至关重要的角色。 MySQL Router的核心功能包括: 1. **数据路由**:根据预定义的策略,如读写...
使用Docker MySQL映像MySQL组复制使用Docker MySQL映像设置组复制MySQL组复制功能是适用于MySQL的多主机更新无处不在复制插件,具有内置的冲突检测和解决方案,自动分布式恢复以及组成员身份。全文参考使用Docker...
3. **MySQL分布式架构**:重点讲述MySQL的分布式实现,如MySQL Cluster、MySQL Replication(主从复制)、Galera Cluster等,分析它们的工作原理、优缺点以及适用场景。 4. **InnoDB存储引擎**:由于InnoDB是MySQL...
6. **Group Replication**:MySQL 5.7引入了Group Replication,这是一种高可用性和故障切换解决方案,允许多个MySQL实例之间同步数据,提供了一种分布式的一致性保证。 7. **Dynamic Columns**:此版本引入了动态...
还有Group Replication,允许形成多主模式的高可用集群,提供更高的容错能力。 在安全方面,5.6版本加强了权限管理和审计功能,使得数据库的访问控制更为严格,同时增加了透明数据加密,可以保护数据在存储时的安全...
MySQL Group Replication(MGR)组复制是MySQL官方在5.7.17版本引进的一个数据库高可用与高扩展的解决方案,以插件形式提供,实现了分布式下数据的最终一致性。但是官方没有给出vip的漂移方案,官方的推荐是使用...
#资源达人分享计划#
总的来说,MySQL Group Replication是一种强大的高可用性解决方案,通过复杂的分布式算法和冲突检测机制,为业务提供了一种强一致性的复制选择。然而,使用MGR需要权衡性能和复杂性,因此在实际应用中应根据业务需求...
MySQL 8.0引入了InnoDB Cluster,这是一个自动化、可扩展的分布式数据库解决方案,用于构建高可用和高性能的应用程序。 7. **分区和分区表**: 分区表是MySQL中处理大数据的关键技术,它将大表分成更小、更易管理...