MySQL 数据库架构灾难恢复解决方案
MySQL 数据库架构 灾难恢复解决方案 MySQL InnoDBClusterSet 介绍 MySQL SE 罗伟文 2 / 55 Safe Harbor Statement 以下内容旨在概述我们的一般产品方向。它仅供参考,不得纳入任何合同。它并不提供任何材料、代码或功能的承诺,不应据此做出购买决策。 Oracle 产品描述的任何特性或功能的开发、发布和时间安排仍由 Oracle 自行决定。 ClusterSet Copyright @ 2021 Oracle and/or its affiliates. 13 / 55 一个或者多个MySQL InnoDB Cluster 副本连接到一个主MySQL InnoDB Cluster 高可用 (区域内的失败) RPO =0 RTO =秒级 (自动故障转移) 灾难恢复( 区域故障) RPO !=0 RTO =分钟或更长时间( @ 2021 Oracle and/or its affiliates. 灾难恢复 - 多区域 MySQL InnoDB Cluster RPO =0 RTO =秒级 多区域 多主数据库 3DC 需要非常稳定的广域网 写入性能受DC 之间的延迟影响 53 / 55 Copyright @ 2021 Oracle and/or its affiliates. 灾难恢复0 码力 | 52 页 | 3.07 MB | 1 年前3谈谈MYSQL那点事
互联网常用数据库市场占有率 互联网通用架构体制 谈谈 MySQL 数据库那些事 MySQL MySQL 基本介绍 基本介绍 MySQL MySQL 优化方式 优化方式 MySQL MySQL 技巧分享 技巧分享 Q Q & & AA MyISAM MyISAM 特点 特点 MyISAM vs MyISAM vs InnoDB InnoDB • 数据存储方式简单,使用 Windows) Windows) • 访问速度飞快,是所有 访问速度飞快,是所有 MySQL MySQL 文件引擎中速度最快的 文件引擎中速度最快的 • 不支持一些数据库特性,比如 事务、外键约束等 不支持一些数据库特性,比如 事务、外键约束等 • Table level lock Table level lock ,性能稍差,更适合读取多的操作 ,性能稍差,更适合读取多的操作 InnoDB Space 的方式来进行数据存储 的方式来进行数据存储 (ibdata1, ib_logfile0) (ibdata1, ib_logfile0) • 支持 事务、外键约束等数据库特性 支持 事务、外键约束等数据库特性 • Rows level lock , Rows level lock , 读写性能都非常优秀 读写性能都非常优秀 • 能够承载大数据量的存储和访问 能够承载大数据量的存储和访问0 码力 | 38 页 | 2.04 MB | 1 年前3MySQL高可用 - 多种方案
作为故障转移,提高系统的可用性。但是一般的 mysql 高可用为了实现 mysql 数据的一致性,一般都是采用单点写入,本方案采用 keepalived 中的 sorry_server 来实现写入数据库为单点的需求。本方案实现的功能是当网络有问题、 mysql 有问题、服务器宕机、keepalived 服务停止后,服务器能自动跳转到备用机, 当主服务器服务启动起来后会自动切换回来。 2.2 方案架构图 的端口等。 切换需要 1s 左右的时间。 2.4 方案实战 2.4.1 适用场景 这个方案适用于只有两台数据库服务器并且还没有实现数据库的读写 分离的情况,读和写都配置 VIP。这个方案能够便于单台数据库的管理 维护以及切换工作。比如进行大表的表结构更改、数据库的升级等都是 非常方便的。 2.4.2 实战环境介绍 服务器名 IP VIP 系统 Mysql Master 作为故障转移,提高系统的可用性。但是一般的 mysql 高可用为了实现 mysql 数据的一致性,一般都是采用单点写入,本方案采用 keepalived 中的 sorry_server 来实现写入数据库为单点的需求,读负载均衡通过 lvs 实现,读能自由 的实现负载均衡和故障切换。本方案实现的功能是当网络有问题、mysql 有问题、 服务器宕机、keepalived 服务停止后,服务器能自动跳转到备用机,当主服务器服务0 码力 | 31 页 | 874.28 KB | 1 年前3MySQL 8.0.17 调优指南(openEuler 20.09)
介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在Web应用方面,MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了 双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其 是开放源码这一特点,一般中小型网站的开发都选择 MySQL作为网站数据库。 1.2 调优原则 性能调优从大的方面来说,在系统设计之初,需要考虑硬件的选择,操作系统的选 择 性能优化首先要较为精准的定位问题,分析系统性能瓶颈,然后根据其性能指标以及 所处层级选择优化的方式方法。 下面介绍MySQL数据库具体的调优思路和分析过程,如图1所示。 调优分析思路如下: 1. 很多情况下压测流量并没有完全进入到服务端,在网络上可能就会出现由于各种 规格(带宽、最大连接数、新建连接数等)限制,导致压测结果达不到预期。 2. 接着看关键指标是否满足要求,如果不满足,需要确定是哪个地方有问题,一般0 码力 | 11 页 | 223.31 KB | 1 年前3Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波
同程旅游早期的数据库都以单库的MySQL。 ■ MySQL的单库,导致TPS最终还是会成为一个瓶颈。 ■ MySQL+DB中间件解决水平拆分问题。 ■ MySQL水平拆分的引入会使数据库实例数量大幅上升,传统运维手段维护成本高,交付能力差。 MySQL数据库为何要Docker化 1.MySQL数据库迅速爆炸式增长后,服务器规模不断增大,快速部署是个问题。 2.随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 3.大量数据量小的数据库系统也单独部署在物理机,浪费问题突出。 4.DBA的数据库自动化标准化运维的需求。 5.Docker在同程的大规模使用,应用部署环境100%容器化,有Docker丰富的经验 。 让数据库的部署点单化开启 2核4G 4核4G 4核8G 8核8G 8核16G 16核16G 16核64G 32核64G 32核128G 一主一从 分片集群 容器的调度 •提供两种API: •Docker API的封装,用于创建,删除,修改。 •集群管理API,用于集群管理。 •Scheduler调度:选择最优节点创建容器。 •Agent:用于连接监控模块,上报系统运行状况。 GRPC API Schedule Filter Strategy Docker API Manger 分布式监控 Node Docker Docker Docker0 码力 | 32 页 | 7.11 MB | 1 年前3使用 Docker 建立 MySQL 集群
使用 Docker 建立 Mysql 集群 软件环境介绍 操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 2,-e MYSQL_ROOT_PASSWORD =‘<给数据库一个 root 用户密码>’ 3,-p <映射到本机的端口>:3306 4,-v <本机的数据库存放目录>:/var/lib/mysql 5,设定 MYSQL_USER、MYSQL_PASSWORD、MYSQL_DATABASE 环境变量可以使容器在 运行时同时创建你所需要的数据库和带有全部权限的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 配置一主一从集群 3.1 接下来启动另一个容器作为从数据库,因为镜像不支持在容器内进入 mysql 控制 台,所以依然需要把端口暴露出来以供局域网访问,但主数据库容易可以链接进 来作为一个可访问的主机 master_db。 docker run --name <从数据库名> -e MYSQL_ROOT_PASSWORD=<从数据库 root 密码> --link <主数据库容器名>:master_db -d mariadb0 码力 | 3 页 | 103.32 KB | 1 年前3MySQL 企业版功能介绍
ORACLE 产品介绍 MySQL 企业版 全球广受欢迎的开源数据库 重要特性 Oracle MySQL 服务云 MySQL 数据库 MySQL 企业级备份 MySQL 企业级高可用性 MySQL 企业级可扩展性 MySQL 企业级身份验证 MySQL 企业级 TDE 多种性能图表 MySQL Workbench Oracle 标准支持服务 “借助 MySQL Query Analyzer, 我们可以识别和分析存在问题的 SQL 代码,同时将数据库性能提 升两倍。更加重要的是,我们在三 天内就完成了这一任务,而过去则 需要数周之久。” —Keith Souhrada, 软件开发工程师, Big Fish Games MySQL 分组复制来确保数据库的高可用性 通过 MySQL 企业级可扩展性应对指数级增长的用户和数据量 通过 MySQL 企业级备份执行热备份和恢复,从而降低数据丢失的风险 通过 MySQL 企业级安全性来利用现有安全基础架构 使用加密、密钥生成和数字签名保护敏感数据 通过 MySQL 企业级防火墙阻止针对数据库的攻击(如 SQL 注入)0 码力 | 6 页 | 509.78 KB | 1 年前3如何用 MySQL 构建全方位高可用应用
• MySQL Cluster 从数据库 • 会话线程:处理来自应用程序的查询 - 将 数据写入主数据库,将关联事件写入二进制 日志 • 转储线程:读取二进制日志中的事件,然后 将其发送到从数据库 • I/O 线程:接收复制事件,并将其存储在从 数据库的中继日志中 • SQL 线程:读取从数据库的中继日志中的复 制事件,然后将其应用到从数据库 MySQL 复制工作流 会话 二进制 二进制 日志 主数据库 转储 I/O 中继 日志 SQL 4/16/2017 8 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 为何进行复制? •将数据库从“主服务器”复制到“从服务器” – 数据的冗余副本奠定了高可用性的基础 – 通过在复制场中进行分布式查询来扩展 主 从 Web/应用服务器 写入和读取 读取 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 9 •异步 – MySQL 默认设置 – 并行:主数据库向应 用程序发送确认,在 存储引擎上提交,然 后将事务发送到从数 据库 • 快速 • 如果主数据库停机有可 能丢失更改 •半同步 – MySQL 5.5+ - 在 MySQL 5.7 中进行了 增强 – 串行:主数据库等待 从数据库记录更改并 将更改刷新到磁盘, 然后以并行方式提交 到存储引擎并向应用 程序发送确认0 码力 | 40 页 | 2.19 MB | 1 年前3运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳
存活的集 群依然整体可用。------paxos协议。 • 更高级别地保证数据的一致性 ------vs mysql的异步/半同 步复制。 MGR�����:! • 将源自多个数据库节点并发无序的消息进行全局排序。目的 是保证每个节点执行的事务完全相同,顺序也相同。 • 所有的消息在各个节点处理动作完全相同,如果某个消息在 某个节点被丢弃(不处理 ,在其他节点也将被丢弃。0 码力 | 32 页 | 9.55 MB | 1 年前3
共 9 条
- 1