- 浏览: 494504 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (502)
- Java (70)
- Linux (10)
- 数据库 (38)
- 网络 (10)
- WEB (13)
- JSP (4)
- 互联网 (71)
- JavaScript (30)
- Spring MVC (19)
- HTML (13)
- CSS (3)
- AngularJS (18)
- Redis (5)
- Bootstrap CSS (1)
- ZooKeeper (4)
- kafka (6)
- 服务器缓存 (4)
- Storm (1)
- MongoDB (9)
- Spring boot (16)
- log4j (2)
- maven (3)
- nginx (5)
- Tomcat (2)
- Eclipse (4)
- Swagger (2)
- Netty (5)
- Dubbo (1)
- Docker (7)
- Hadoop (12)
- OAuth (1)
- webSocket (4)
- 服务器性能 (7)
- Session共享 (1)
- tieye修改 (1)
- 工作 (1)
- 有用的语录 (0)
- https (2)
- common (5)
- 产品开发管理 (1)
- CDN 工作原理 (1)
- APNS、GCM (1)
- 架构图 (3)
- 功能实现分析 (1)
- JMX (1)
- 服务器相关操作命令 (1)
- img02 (0)
- 服务器环境搭建 (9)
- goodMenuBook (1)
- CEInstantPot (0)
- 有用数据 (1)
- 百度地图WEB API (2)
- 正则表达式 (1)
- 样式例子 (2)
- staticRecipePressureCooker.zip (1)
- jCanvas (1)
- 网站攻击方法原理 (1)
- 架构设计 (3)
- 物联网相关 (3)
- 研发管理 (7)
- 技术需求点 (1)
- 计划 (1)
- spring cloud (11)
- 服务器开发的一些实用工具和方法 (1)
- 每天学到的技术点 (4)
- Guava (1)
- ERP 技术注意要点 (2)
- 微信小程序 (1)
- FineRepor (1)
- 收藏夹 (1)
- temp (5)
- 服务架构 (4)
- 任职资格方案 (0)
- osno_test (1)
- jquery相关 (3)
- mybatis (4)
- ueditor (1)
- VueJS (7)
- python (10)
- Spring EL (1)
- shiro (1)
- 前端开发原理与使用 (7)
- YARN (1)
- Spark (1)
- Hbase (2)
- Pig (2)
- 机器学习 (30)
- matplotlib (1)
- OpenCV (17)
- Hystrix (1)
- 公司 (1)
- miniui (4)
- 前端功能实现 (3)
- 前端插件 (1)
- 钉钉开发 (2)
- Jenkins (1)
- elasticSearch使用 (2)
- 技术规范 (4)
- 技术实现原理 (0)
最新评论
MYSQL 主从、读写分离、分库分表、高可用、数据安全
主从
主从复制(Master-Slave)的方式来同步数据,通过binlog实现的
读写分离
MySQL-Proxy,
amoeba目前在阿里巴巴是内部项目,正在生产环境使用的。
Mycat
https://blog.csdn.net/j903829182/article/details/73500080
https://www.cnblogs.com/fyy-hhzzj/p/9044775.html
sharding-jdbc
https://blog.csdn.net/yanyan19880509/article/details/78170233
分库分表
Mycat分表操作是利用分库来进行的,支持读写分离
1)mycat是一个中间件的第三方应用,sharding-jdbc是一个jar包
2)使用mycat时不需要改代码,而使用sharding-jdbc时需要修改代码
sharding-jdbc一款以jar包的形式整合到业务中的插件,这就决定了它是轻量级的,用法也是十分简单的。支持库内分表,支持读写分离
https://blog.csdn.net/l1028386804/article/details/79368021(sharding-jdbc之——分库分表实例)
Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。
Galera Cluster是Codership公司开发的一套免费开源的高可用方案
MySQL异步复制、半同步复制:
https://www.cnblogs.com/paul8339/p/6879329.html
数据一致性保障
MySQL在5.5中就顺其自然地引入了半同步复制
一致性(主从或主主之间)
Galera Cluster一致性
出现切换时也不会出现数据不一致的现象
5.7支持无损复制(Loss-less Semi-Synchronous)
在没办法解决分布式数据一致性问题的情况下,它能保证的是不丢数据,多了数据总比丢数据要好。
https://www.cnblogs.com/zero-gg/p/9057092.html
MySQL Replication,MySQL Replication支持链式复制,也就是说Slave服务器下还可以再链接Slave服务器,同时Slave服务器也可以充当Master服务器角色。
一主一次,即一台Master服务器和一台Slave服务器。这是最常见的架构。
一主多从,即一台Master服务器和两台或两台以上Slave服务器,经常用在写操作不频繁、查询量比较大的业务环境中。
主主互备,又称双主互备,即两台MySQL Server互相将对方作为自己的Master,自己又同时作为对方的Slave来进行复制。主要用于对MySQL写操作要求比较高的环境中,避免了MySQL单点故障。
双主多从,其实就是双主互备,然后再加上多台Slave服务器。主要用于对MySQL写操作要求比较高,同时查询量比较大的环境中。
MySQL主主互备模式架构,采用Keepalived来实现MySQL的自动failover。
Keepalived的切换过程非常迅速,整个过程大概持续1~3s,重新切换到新的服务器后,之前所有的MySQL连接失效,重新连接可以恢复正常。
http://blog.51cto.com/6284444/2145990?source=dra(高性能MySQL集群详解)
高可用
数据安全
定时全量备份,通过全量备份和增量备份进行
冷备份的备份步骤:停掉MySQL服务,在操作系统级别备份MySQL的数据文件和日志文件到备份目录
冷备份的恢复步骤:停掉MySQL服务,在操作系统级别恢复MySQL的数据文件,然后重启MySQL服务,使用mysqlbinlog
增量备份、全量备份
https://blog.csdn.net/richardlygo/article/details/81638237
https://blog.csdn.net/wukong_666/article/details/54845003
https://www.cnblogs.com/martinzhang/p/3454358.html
数据库物理热备的备份工具
Percona XtraBackup
http://mysql.taobao.org/monthly/2016/03/07/
如果不想停机备份,可以通过备份binlog并在另一个机器中执行binlog的方式来实现数据的备份工作,执行binlog的时间可以跟据容量在定义周期,防止数据的丢失
MySQL异步复制、半同步复制详解
通过延时同步从库可以做到数据库的数据安全备份和快速恢复
//分库分表后的事务
shrading-jdbc之弱事务
完全支持非跨库事务,例如:仅分表,或分库但是路由的结果在单库中。
完全支持因逻辑异常导致的跨库事务。例如:同一事务中,跨两个库更新。更新完毕后,抛出空指针,则两个库的内容都能回滚。
不支持因网络、硬件异常导致的跨库事务。例如:同一事务中,跨两个库更新,更新完毕后、未提交之前,第一个库死机,则只有第二个库数据提交。
MySQL Replication(主从复制)
https://www.cnblogs.com/zhenyuyaodidiao/p/4635458.html
mysql-cluster
https://blog.csdn.net/weitry/article/details/80579706
不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能。
mysql-proxy
mysql-proxy是mysql官方提供的mysql中间件服务
拦截查询和修改结果,需要通过编写Lua脚本来完成。
https://www.cnblogs.com/jwentest/p/8552075.html
主从
主从复制(Master-Slave)的方式来同步数据,通过binlog实现的
读写分离
MySQL-Proxy,
amoeba目前在阿里巴巴是内部项目,正在生产环境使用的。
Mycat
https://blog.csdn.net/j903829182/article/details/73500080
https://www.cnblogs.com/fyy-hhzzj/p/9044775.html
sharding-jdbc
https://blog.csdn.net/yanyan19880509/article/details/78170233
分库分表
Mycat分表操作是利用分库来进行的,支持读写分离
1)mycat是一个中间件的第三方应用,sharding-jdbc是一个jar包
2)使用mycat时不需要改代码,而使用sharding-jdbc时需要修改代码
sharding-jdbc一款以jar包的形式整合到业务中的插件,这就决定了它是轻量级的,用法也是十分简单的。支持库内分表,支持读写分离
https://blog.csdn.net/l1028386804/article/details/79368021(sharding-jdbc之——分库分表实例)
Atlas是由 Qihoo 360公司Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目。
Galera Cluster是Codership公司开发的一套免费开源的高可用方案
MySQL异步复制、半同步复制:
https://www.cnblogs.com/paul8339/p/6879329.html
数据一致性保障
MySQL在5.5中就顺其自然地引入了半同步复制
一致性(主从或主主之间)
Galera Cluster一致性
出现切换时也不会出现数据不一致的现象
5.7支持无损复制(Loss-less Semi-Synchronous)
在没办法解决分布式数据一致性问题的情况下,它能保证的是不丢数据,多了数据总比丢数据要好。
https://www.cnblogs.com/zero-gg/p/9057092.html
MySQL Replication,MySQL Replication支持链式复制,也就是说Slave服务器下还可以再链接Slave服务器,同时Slave服务器也可以充当Master服务器角色。
一主一次,即一台Master服务器和一台Slave服务器。这是最常见的架构。
一主多从,即一台Master服务器和两台或两台以上Slave服务器,经常用在写操作不频繁、查询量比较大的业务环境中。
主主互备,又称双主互备,即两台MySQL Server互相将对方作为自己的Master,自己又同时作为对方的Slave来进行复制。主要用于对MySQL写操作要求比较高的环境中,避免了MySQL单点故障。
双主多从,其实就是双主互备,然后再加上多台Slave服务器。主要用于对MySQL写操作要求比较高,同时查询量比较大的环境中。
MySQL主主互备模式架构,采用Keepalived来实现MySQL的自动failover。
Keepalived的切换过程非常迅速,整个过程大概持续1~3s,重新切换到新的服务器后,之前所有的MySQL连接失效,重新连接可以恢复正常。
http://blog.51cto.com/6284444/2145990?source=dra(高性能MySQL集群详解)
高可用
数据安全
定时全量备份,通过全量备份和增量备份进行
冷备份的备份步骤:停掉MySQL服务,在操作系统级别备份MySQL的数据文件和日志文件到备份目录
冷备份的恢复步骤:停掉MySQL服务,在操作系统级别恢复MySQL的数据文件,然后重启MySQL服务,使用mysqlbinlog
增量备份、全量备份
https://blog.csdn.net/richardlygo/article/details/81638237
https://blog.csdn.net/wukong_666/article/details/54845003
https://www.cnblogs.com/martinzhang/p/3454358.html
数据库物理热备的备份工具
Percona XtraBackup
http://mysql.taobao.org/monthly/2016/03/07/
如果不想停机备份,可以通过备份binlog并在另一个机器中执行binlog的方式来实现数据的备份工作,执行binlog的时间可以跟据容量在定义周期,防止数据的丢失
MySQL异步复制、半同步复制详解
通过延时同步从库可以做到数据库的数据安全备份和快速恢复
//分库分表后的事务
shrading-jdbc之弱事务
完全支持非跨库事务,例如:仅分表,或分库但是路由的结果在单库中。
完全支持因逻辑异常导致的跨库事务。例如:同一事务中,跨两个库更新。更新完毕后,抛出空指针,则两个库的内容都能回滚。
不支持因网络、硬件异常导致的跨库事务。例如:同一事务中,跨两个库更新,更新完毕后、未提交之前,第一个库死机,则只有第二个库数据提交。
MySQL Replication(主从复制)
https://www.cnblogs.com/zhenyuyaodidiao/p/4635458.html
mysql-cluster
https://blog.csdn.net/weitry/article/details/80579706
不仅仅具有高可用性,而且可以自动切分数据,冗余数据等高级功能。
mysql-proxy
mysql-proxy是mysql官方提供的mysql中间件服务
拦截查询和修改结果,需要通过编写Lua脚本来完成。
https://www.cnblogs.com/jwentest/p/8552075.html
发表评论
-
SQL常用语句
2022-07-21 19:09 208delete from cacherefresh where ... -
ES数据同步方案
2022-06-24 10:57 2299//============================= ... -
选举算法
2022-06-17 08:48 421选举算法 常用的选举 ... -
elasticSearch使用
2022-04-27 08:42 411ElasticSearch 基于Apache Lucene构建 ... -
IDEA 快捷键
2022-03-02 16:55 243大小写转换快捷键 ctr+shift+u IDEA ... -
SQL存储过程例子和有用的SQL
2022-02-19 09:20 197delete from cacherefresh where ... -
zookeeper dubbo 安装
2021-12-04 19:27 310docker-machine ssh default d ... -
将博客搬至CSDN
2021-11-18 19:57 187将博客搬至CSDN -
docker mysql 主从安装
2021-11-10 16:55 233docker run -d -p 13306:3306 --n ... -
rocketmq安装部署.txt
2021-11-07 19:10 215docker search rocketmq docke ... -
百度人脸识别
2021-05-21 16:11 361package com.gaojinsoft.htwy.y20 ... -
springBoot tomcat配置参数说明
2021-05-12 09:13 3014#最大连接数 server.tomcat.max-connec ... -
技术选型
2021-01-29 17:34 2901.移动端组件vux,vant,vant好点,文档好的,基于v ... -
SQL优化对比与总结
2021-01-09 14:44 37619000000 b表 SELECT * from b w ... -
方便开发调试和问题跟踪
2021-01-01 10:17 2451.外网最好可以连接数据库 2.关键信息可以在接口返回信息, ... -
执行存储过程测试
2020-12-30 16:47 385--执行存储过程创建 if (exists (select * ... -
Jenkins脚本
2020-03-12 17:55 441#!/bin/bash -ilx echo "开始 ... -
base64与file 相互转换
2019-10-23 18:19 764base64与file 相互转换 import org. ... -
钉钉开发
2019-09-17 20:16 430钉钉开发 开发者帐号 1357047443 x***310* ... -
安卓模拟器使用
2019-07-03 23:13 4逍遥pc版的安卓模拟器 http://www.xyaz.cn/ ...
相关推荐
MySQL主从同步确保了数据的安全和一致性,MyCat实现了读写分离和分库分表,提升了系统性能;Haproxy提供了负载均衡,保证了服务的响应速度;Keepalived和虚拟IP则保证了在硬件故障时服务的连续性。这个架构适合处理...
在实际应用中,主从架构和分库分表是解决数据库扩展性和高可用性的常见手段,而通过binlog处理数据一致性问题则是一种有效策略。理解这些概念和技术对于构建高可用、高性能的数据库系统至关重要。
### Mycat读写分离、主从切换、分库分表的操作记录—线上操作手册 #### 一、Mycat简介及关键特性 Mycat是一个开源的分布式数据库系统,能够作为一个中间件帮助开发者管理和优化数据库资源。随着业务增长和技术演进...
MySQL主从架构是一种常见的数据库高可用和负载均衡解决方案,它主要解决了大数据量处理、数据安全性以及性能提升等问题。在大型互联网环境中,随着数据量的增长,单机MySQL服务无法满足高并发读写的需求,同时,数据...
MySQL主从备份与Mycat读写分离是数据库管理和优化中的重要技术,它们在大型分布式系统中发挥着关键作用,确保数据的安全性、可用性和性能。以下是对这两个主题的详细阐述。 **一、MySQL主从备份** MySQL主从备份是...
MySQL数据库在面临高并发、大数据量的业务场景时,为了保证系统的稳定性和性能,通常会采用读写分离和分库分表的技术策略。本篇将详细介绍这两种技术,并结合"mysql读写分离,分库分表-MysqlSample"的示例进行讲解。...
这个驱动类不仅支持主从复制,还实现了分库分表以及SQL注入防护,旨在提升应用的稳定性和安全性。 一、MySQLi扩展 MySQLi(MySQL Improved)是PHP中用于连接和操作MySQL数据库的一个扩展,提供了面向对象和面向...
MYCAT是一种开源的分布式数据库系统,它主要用于解决大数据量、高并发访问的问题,通过分库分表、读写分离等技术提升系统的可用性和性能。在本配置中,我们看到MYCAT是如何实现主从复制和读写分离的。 主从复制是...
通过以上步骤,可以有效地实现主从读写分离和自动主从切换,提升数据库的稳定性和高可用性。 ##### 3.3 全局序列创建 全局序列是指在分布式环境中生成全局唯一序列号的机制。对于需要保证唯一性的场景(如订单号、...
ShardingSphere是一款开源的数据库中间件,提供分库分表、读写分离等功能。它通过定义分片策略(如按范围、取模等方式),解决数据分布问题。ShardingSphere支持标准、自定义和长事务类型的分布式事务,并提供主键...
MySQL 运维篇涵盖了 MySQL 的日志、主从复制、分库分表、读写分离等多方面的运维知识点。 日志 MySQL 中的日志是非常重要的,日志记录了 MySQL 服务器的各种操作记录,包括错误日志、二进制日志、查询日志、慢...
MyCAT 是一个分布式数据库中间件,用于实现大规模数据的读写分离和分库分表。在读写分离模式下,MyCAT 将写操作路由到主数据库,读操作分发到从库,以此提高系统的并发处理能力和响应速度。启用 MyCAT 的读写分离...
3. **MyCat**:一个开源的分布式数据库系统,主要功能是作为中间层来实现数据库的读写分离、分库分表等特性,支持多种数据库后端,如MySQL、PostgreSQL等。 #### 三、实现步骤 ##### 1. 准备环境 - **下载JDK**:...
它通过分库分表、读写分离和负载均衡等策略,提升了系统的性能和可扩展性,特别是在处理大规模数据和高并发场景下。这种设计有助于PC构件行业的信息化进程,确保数据的安全性和追溯性,促进行业的高效发展。
3. **MyCat**:作为一款开源的分布式数据库中间件,MyCat能够实现对数据库的读写分离、分库分表等功能,从而减轻单个数据库的压力,提高数据库层的整体性能。 #### 三、软件版本与部署环境规划 为了更好地理解和...
**描述:**该压缩包内容主要涉及使用Sharding-JDBC技术在MySQL环境中实现数据库的分库分表和读写分离。分库分表是一种常见的数据库扩展策略,用于应对大数据量场景下的性能挑战。通过将单一的大表分解为多个小表,...
OneProxy作为一款由平民软件自主开发的分布式数据访问层,专为此目的而设计,它允许用户在MySQL或PostgreSQL集群上快速部署支持分库分表的分布式数据库解决方案,并提供了SQL白名单和IP白名单的安全防护功能。...
- **存储方式**:采用分库分表形式,每张表存储4份以确保数据安全; - **存储周期**:12个月加1个月备份周期。 2. **2-3年内业务数据**: - **存储方式**:同样采用分库分表形式,每张表存储4份; - **存储周期...
4. **分库分表**:当单个数据库无法满足性能需求时,可通过分库分表分散压力。 ### 性能监控与调优 1. **慢查询日志**:开启慢查询日志记录执行时间过长的SQL语句,便于后续分析和优化。 2. **InnoDB缓冲池**:调整...