如何用 MySQL 构建全方位高可用应用MySQL協助您搭建全方位的高可用應用 杜修文 甲骨文全球事業部 安全港声明 以下内容旨在阐明产品的整体方向。该内容仅供参考,不可纳入任何合同。该信息 不承诺提供任何资料、代码或功能,并且不应该作为制定购买决策的依据。本文档 所述的 Oracle 产品的任何特性或功能的开发、发行和时间规划均由 Oracle 自行决定。 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 6 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 MySQL Cluster 从数据库 • 会话线程:处理来自应用程序的查询 - 将 数据写入主数据库,将关联事件写入二进制 日志 • 转储线程:读取二进制日志中的事件,然后 将其发送到从数据库 • I/O 线程:接收复制事件,并将其存储在从 数据库的中继日志中 • SQL 线程:读取从数据库的中继日志中的复 制事件,然后将其应用到从数据库 MySQL 复制工作流 会话 二进制 日志0 码力 | 40 页 | 2.19 MB | 1 年前3
MySQL 企业版功能介绍软件开发工程师, Big Fish Games MySQL 企业版提供了全面的高级功能、管理工具和技术支持,实现了高水平的 MySQL 可扩展性、安全性、可靠性和无故障运行时间。 MySQL 企业版可在开发、部署和管理业务关键型 MySQL 应用的过程中降低风险、削减成本和减 少复杂性。MySQL 企业版具有以下独特优势: 使用 Oracle MySQL 服务云轻松设置、运行和管理云中的 MySQL 企业级备份执行热备份和恢复,从而降低数据丢失的风险 通过 MySQL 企业级安全性来利用现有安全基础架构 使用加密、密钥生成和数字签名保护敏感数据 通过 MySQL 企业级防火墙阻止针对数据库的攻击(如 SQL 注入) 对现有 MySQL 应用实施基于策略的审计合规性 通过 MySQL Enterprise Monitor 提高数据库性能和可用性 MySQL Oracle MySQL 服务云 Oracle MySQL 云服务提供了一个安全、经济高效的企业级 MySQL 数据库服务。它基于 MySQL 企业版并且受 Oracle 云的支持,提供同类先进的管理工具,可自动执行供应、修补、备份和恢复、 监视和调优等管理任务。多层安全可以保护您的数据免受外部攻击,同时帮助您实现合规性。自 助式供应可创建预配置的 MySQL 数据库0 码力 | 6 页 | 509.78 KB | 1 年前3
MySQL高可用 - 多种方案只是要手工切换从服务器比较麻烦,后面会介绍的 MMM 能将从服务器自动切 换)并且还能实现数据库的读写分离的情况,这样 backup 机器也能用起来,提 高系统资源的利用率,减少 master 端的负载。应用中读数据库配置读 VIP,写数 据库配置写 VIP。这个方案也能够很方便的进行单台数据库的管理维护以及切换 工作。比如进行大表的表结构更改、数据库的升级等都是非常方便的。 3.5 方案实战 3 dbserver 10.1.1.75 puppet Authkerys 的配置 这个文件用来配置密码认证方式,支持3种认证方式,crc,md5和sha1, 从左到右安全性越来越高,消耗的资源也越多。因此如果 heartbeat 运行在安全的网路之上,比如私网,那么可以将验证方式设置成 crc, master 和 backup 的 authkeys 配置一样。我的 authkeys 文件配置如下: vim 这个工具来保证。默认情况下只有一台 mysql 在工作,当主 mysql 服 务器出现问题后,系统将自动切换到备机上继续提供服务,当主数据库修复完毕, 又将服务切回继续由主 mysql 提供服务。 5.2 方案优缺点 优点:安全性高、稳定性高、可用性高,出现故障自动切换, 缺点:只有一台服务器提供服务,成本相对较高。不方便扩展。可能会发生脑裂。 5.3 方案架构图 5.4 方案适用场景 本方案适用于数据0 码力 | 31 页 | 874.28 KB | 1 年前3
Kubernetes Operator 实践 - MySQL容器化complex stateful applications on behalf of a Kubernetes user. operator 是特殊的 controller,用来管理复杂的分布式应用 ü custom resource definition(CRD) ü custom controller Operator 是什么 • Kubernetes 中一切都可视为资源 • 默认资源类型:如 … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph Kubernetes 的容器编排 • Pod 名稳定 • Pod 启动有序 • Pod 扩容安全 Deployment mysql-5f54tvkj8 mysql-7c46782dr mysql-577ck9s8f StatefulSet mysql-0 mysql-1 mysql-2 实践 ü 自定义 controller,使用 CRD ü MHA、MGR 高可用的实现 ü 扩缩容、故障处理流程 ü 分布式存储 ceph 展望 • 优化存储 • 增强 MySQL 的安全性 • 完善数据处理工具0 码力 | 42 页 | 4.77 MB | 1 年前3
谈谈MYSQL那点事读写性能都非常优秀 • 能够承载大数据量的存储和访问 能够承载大数据量的存储和访问 • 拥有自己独立的缓冲池,能够缓存数据和索引 拥有自己独立的缓冲池,能够缓存数据和索引 MySQL 架构设计—应用架构 强一致性 对读一致性的权衡,如果是对读写实时性要求非常高的话, 就将读写都放在 M1 上面, M2 只是作为 standby 。 比如,订单处理流程,那么对读需要强一致性,实时写实 途径,实际中尽可能两者兼顾。 MySQL 架构设计—高可用架构 系统优化:硬件、架构 系统优化:硬件、架构 服务优化 服务优化 应用优化 应用优化 MySQL MySQL 优化方式 优化方式 影响性能的因素 影响性能的因素 应用程序 应用程序 查询 查询 事务管理 事务管理 数据库设计 数据库设计 数据分布 数据分布 网络 网络 操作系统 操作系统 硬件 配置合理的 MySQL MySQL 服务器,尽量在应用本身达到一 服务器,尽量在应用本身达到一 个 个 MySQL MySQL 最合理的使用 最合理的使用 针对 针对 MyISAM MyISAM 或 或 InnoDB InnoDB 不同引擎进行不同定制 不同引擎进行不同定制 性配置 性配置 针对不同的应用情况进行合理配置 针对不同的应用情况进行合理配置 针对 针对 my.cnf0 码力 | 38 页 | 2.04 MB | 1 年前3
Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 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 资源管理|资源调度 复制与迁移|高可用保障|备份恢复 自 动 化 运 维 应用 DB中间件 数据存储 应用 VIP 告警分析 告警发送 指标画图 趋势预测 自定义脚本 Open API 数据校验 实例迁移 秒级监控诊断 慢日志分析 资源池调度 调度规则 容器调度 资源池 容器及实例创建 应用交付 资源申请 IO类型 配置 为了保证MySQL的高可用,需要在D PS:容器虚拟化带来轻量高效,快速部署的同时,docker容器在隔离性方面也存在一些缺陷。例如,在容器内部proc文件系统 中可以看到Host宿主机上的proc信息。这样就导致了一些问题,比如监控信息不准确、限制内存会导致应用程序OOM等。我们 基于lxcfs组件来增强容器的隔离性。 资源隔离 CPU最大超卖3倍,通过cpu-period配合cpu-quota一起使用,来限制容器的CPU的使用量 。比cpuset-cpus绑定CPU的方式灵活。0 码力 | 32 页 | 7.11 MB | 1 年前3
Oracle 和 MySQL 性能优化感悟Method swizzling Isa swizzling Isa swizzling+NSProxy Others NSURLProtocol 关于NSURLProtocol 基本步骤 应用场景 优点/缺点/坑 1、定一个NSURLProtocol子类 2、注册这个类 3、NSURLProtocol子类实现 method swizzling 拦截的要点: • 拦截到 • 调回去 加“代理方法” 2、调用method_exchangeImplementations交换IMP 3、确保你的“代理方法”调用了“原始方法” method swizzling 原理 基本步骤 应用场景 优点/缺点/坑 method swizzling(改进版) 原理 基本步骤 小例子 优点 • 利用block作为IMP • 利用自动变量的截取 存储原始IMP 原理:修改isa指针 原理:修改isa指针 isa swizzling 特点:针对一个对象 原理:修改isa指针 基本步骤 应用场景 优点/缺点/坑 isa swizzling 特点:针对一个对象 1、(动态)创建目标类子类 2、(动态)为子类添加方法 3、修改目标对象的isa 原理 基本步骤 应用场景 优点/缺点/坑 isa swizzling+NSProxy 1、从NSProxy派生一个子类,0 码力 | 19 页 | 3.82 MB | 1 年前3
MySQL 8.0.17 调优指南(openEuler 20.09)MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在Web应用方面,MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 I/O,Network I/O,如果是某个硬件指标有问题,需要深入的进行分析。 4. 如果硬件指标都没有问题,需要查看数据库相关指标,例如:等待事件、内存命 中率等。 5. 如果以上指标都正常,应用程序的算法、缓冲、缓存、同步或异步可能有问题, 需要具体深入的分析。 瓶颈点 说明 硬件/规格 一般指的是CPU、内存、磁盘I/O方面的问题,分为服务器硬件瓶 颈、网络瓶颈(对局域网可以不考虑)。0 码力 | 11 页 | 223.31 KB | 1 年前3
MySQL 数据库架构灾难恢复解决方案手动故障转移) 无写入性能影响 特点 • 简单易用 • 熟悉的界面和可用性 mysqlsh,CLONE,... • 在线添加/删除节点/集群 • 路由器集成, 拓扑结构发生变化时无需重新配置 应用程序 M ySQL InnoDB ClusterSet – 3 个数据中心 Copyright @ 2021 Oracle and/or its affiliates. 14 / 55 MySQL and/or its affiliates. 24 / 55 Copyright @ 2021 Oracle and/or its affiliates. 路由器集成 25 / 55 将应用程序配置为连接到本地 MySQL 路由器以连接到 ClusterSet Copyright @ 2021 Oracle and/or its affiliates. 路由器集成 26 / 550 码力 | 52 页 | 3.07 MB | 1 年前3
使用 Docker 建立 MySQL 集群修改“server-id = 2”,需要是比主 server-id 大的数字,mdb2 同样需要重启。 3.4 使用客户端连接上主数据库,这里我使用的是 mysql workbench,从数据库因为 安全考虑并没有公开端口给主机,只能进入容器的 mysql 控制台进行操作。 在主数据库中执行 SQL 脚本: /*设定用于同步的账号、密码*/ grant replication slave on *.*0 码力 | 3 页 | 103.32 KB | 1 年前3
共 11 条
- 1
- 2













