如何用 MySQL 构建全方位高可用应用MySQL協助您搭建全方位的高可用應用 杜修文 甲骨文全球事業部 安全港声明 以下内容旨在阐明产品的整体方向。该内容仅供参考,不可纳入任何合同。该信息 不承诺提供任何资料、代码或功能,并且不应该作为制定购买决策的依据。本文档 所述的 Oracle 产品的任何特性或功能的开发、发行和时间规划均由 Oracle 自行决定。 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 为何进行复制? •将数据库从“主服务器”复制到“从服务器” – 数据的冗余副本奠定了高可用性的基础 – 通过在复制场中进行分布式查询来扩展 主 从 Web/应用服务器 写入和读取 读取 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 9 •异步 – MySQL 默认设置 – •自动搜索复制拓扑 •主/从性能监视 •复制指导 •有关最佳做法的复制建议 “我每天使用 MySQL Enterprise Monitor 监视和跟踪 MySQL 数据库。 该软件提供了快速的一站式服务, 可用来密切监视数据库。” -Wes Homer, 高级系统和网络管理员 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 13 并不仅仅是可靠地存储数据0 码力 | 40 页 | 2.19 MB | 1 年前3
MySQL 企业版功能介绍击,同时帮助您实现合规性。自 助式供应可创建预配置的 MySQL 数据库,针对性能进行优化;而自动扩展能够让用户弹性扩展 计算资源、存储资源和 MySQL 副本。 MySQL 数据库 MySQL 凭借经济高效、可靠、高性能且可扩展的电子商务、联机事务处理和嵌入式数据库应用 成为全球使用广泛的开源数据库。它是一种事务安全、符合 ACID 标准的集成式数据库,支持全 面的提交、回滚、崩溃恢复和行锁定功能。MySQL 增量和部分备份以外,MySQL 还全面支持事务操作。并行执行的备份操作有助于快速完成备份; 此外,MySQL 企业级备份还支持多种压缩选项,可将备份映像减小 90%。恢复选项包括向后兼 容完整恢复、准确的一键式指定时间点恢复和专用于恢复一组特定对象的部分恢复。 MySQL 企业级高可用性 MySQL 企业级高可用性可帮助您满足一切应用的可用性需求,即便是极为严苛的任务关键型应 用。MySQL 分组 是全球广受欢迎的开源数据库软件。全球许多发展迅猛的行业巨头都使用 MySQL 来支持 其高流量网站、业务关键型系统和软件包,从中节省了大量时间和资金。 MySQL 客户清单(部分) 互联网客户/最终客户 嵌入式软件开发商/ISV 电信客户 Amazon.com BBC News Disney Facebook Google Lufthansa NASA0 码力 | 6 页 | 509.78 KB | 1 年前3
MySQL高可用 - 多种方案方案优缺点 优点: 配置简单、,可配置主机恢复后是否切换回 master。不存在单点故障。 缺点: 当 mysql 服务挂掉或者不可用的情况下不能进行自动切换,需要通过 crm 模 式实现或者额外的脚本实现(比如 shell 脚本监测到 master 的 mysql 不可用就 将主上的 heartbeat 停掉,这样就会切换到 backup 中去)。 默认启动以及切换后的 backup 环境搭建好以后,就需要进行周密的测试,看是否实现了预期的功能: 停掉 master 上的 mysqld,看看是否切换(因为 heartheat 不检查服务的可 用性,因此需要你通过而外的脚本来实现,方法前面已经描述)。 停掉 master 的 heartheat 看看是否能正常切换。 停掉 master 的网络或者直接将 master 系统 shutdown,看看能否正常切换。 secondary 模式的时候才可以将 dbserver2 设置成 primary。 d) 在 dbserver2 上执行 drbdadm primary all,将 dbserver2 提升为主模 式,并观察/proc/drbd 是否正常。 e) 在 dbserver2 上执行 mount /dev/drbd0 /drbd 挂在文件系统。 f) 启动 dbserver2 的 mysql,/etc/rc0 码力 | 31 页 | 874.28 KB | 1 年前3
MySQL 8.0.17 调优指南(openEuler 20.09)续的代码开发中 去。 ● 性能调优不能以牺牲代码的可读性和可维护性为代价。 1.3 调优思路 性能优化首先要较为精准的定位问题,分析系统性能瓶颈,然后根据其性能指标以及 所处层级选择优化的方式方法。 下面介绍MySQL数据库具体的调优思路和分析过程,如图1所示。 调优分析思路如下: 1. 很多情况下压测流量并没有完全进入到服务端,在网络上可能就会出现由于各种 规格(带宽、最大连接数、新 1 调优概述 2020-10-15 2 2 硬件调优 2.1 BIOS配置 2.1 BIOS 配置 目的 对于不同的硬件设备,通过在BIOS中设置一些高级选项,可以有效提升服务器性能。 方法 步骤1 关闭SMMU。 说明 此优化项只在非虚拟化场景使用,在虚拟化场景,则开启SMMU。 1. 重启服务器过程中,单击Delete键进入BIOS,选择“Advanced > MISC Config”,单击Enter键进入。 7 IO 参数调优 3.8 缓存参数调优 3.9 内核优化 3.10 mysql进程绑核 3.1 关闭 irqbalance 目的 关闭irqbalance,通过手动绑定中断的方法优化性能。 方法 步骤1 停止irqbalance服务。 systemctl stop irqbalance.service 步骤2 关闭irqbalance服务。 systemctl disable0 码力 | 11 页 | 223.31 KB | 1 年前3
Oracle 和 MySQL 性能优化感悟1、定一个NSURLProtocol子类 2、注册这个类 3、NSURLProtocol子类实现 method swizzling 拦截的要点: • 拦截到 • 调回去 • 名词约定:原始方法、代理方法 method swizzling 原理 typedef struct objc_method *Method; typedef struct objc_ method { SEL method_name; method_imp; }; method swizzling 原理 基本步骤 1、用class_addMethod为某类添加“代理方法” 2、调用method_exchangeImplementations交换IMP 3、确保你的“代理方法”调用了“原始方法” method swizzling 原理 基本步骤 应用场景 优点/缺点/坑 method swizzling(改进版) 优点/缺点/坑 isa swizzling 特点:针对一个对象 1、(动态)创建目标类子类 2、(动态)为子类添加方法 3、修改目标对象的isa 原理 基本步骤 应用场景 优点/缺点/坑 isa swizzling+NSProxy 1、从NSProxy派生一个子类, 2、实现那三个方法 3、把目标对象的isa指向这个类 fishhook Runlook观察者/CADisplayLink0 码力 | 19 页 | 3.82 MB | 1 年前3
Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波MySQL+DB中间件解决水平拆分问题。 ■ MySQL水平拆分的引入会使数据库实例数量大幅上升,传统运维手段维护成本高,交付能力差。 MySQL数据库为何要Docker化 1.MySQL数据库迅速爆炸式增长后,服务器规模不断增大,快速部署是个问题。 2.随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 3.大量数据量小的数据库系统也单独部署在物理机,浪费问题突出。 4.DBA的数据库自动化标准化运维的需求。 查 看 自 动 化 备 份 资 源 池 管 理 高 可 用 切 换 集 群 节 点 管 理 扩 容 缩 容 数 据 库 及 实 例 迁 移 过 载 保 护 机 制 总体架构 分 布 式 监 控 资源管理|资源调度 复制与迁移|高可用保障|备份恢复 自 动 化 运 维 应用 DB中间件 数据存储 应用 VIP 告警分析 告警发送 指标画图 趋势预测 自定义脚本 •Scheduler调度:选择最优节点创建容器。 •Agent:用于连接监控模块,上报系统运行状况。 GRPC API Schedule Filter Strategy Docker API Manger 分布式监控 Node Docker Docker Docker Docker Node Docker Docker Docker Docker 集群 报警 • 为了保证容器内的MySQL0 码力 | 32 页 | 7.11 MB | 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 Operator pod … … mysql Pod-T 0. 创建 CRD 3. 集群管理 2. 调度 pod Ceph MySQL-Operator 数据存储 分布式存储 • 使用 Ceph RBD,基于产品线 创建 StorageClass • 优点:可靠性高,容器漂移时 数据不变 • 缺点:读写延迟较高 本地存储 • 基于 Host Path Volumes • Operator 的基本原理 • MySQL-Operator 实践 ü 自定义 controller,使用 CRD ü MHA、MGR 高可用的实现 ü 扩缩容、故障处理流程 ü 分布式存储 ceph 展望 • 优化存储 • 增强 MySQL 的安全性 • 完善数据处理工具0 码力 | 42 页 | 4.77 MB | 1 年前3
谈谈MYSQL那点事如果既不是很强的一致性又不是很弱的一致性,那 么我们就采取中间的策略,就是在同机房再部署一个 S1(R) ,作为备库,提供读取服务,减少 M1(WR) 的 压力,而另外一个 idc 机房的 M2 只做 standby 容灾方 式的用途。 当然这里会用到 3 台数据库服务器,也许会增加采 购压力,但是我们可以提供更好的对外数据服务的能力和 途径,实际中尽可能两者兼顾。 MySQL 架构设计—高可用架构 MySQL 访问频繁,考虑 访问频繁,考虑 Master/Slave Master/Slave 读写分离;数据库分表、数据库切片(分 读写分离;数据库分表、数据库切片(分 布式),也考虑使用相应缓存服务帮助 布式),也考虑使用相应缓存服务帮助 MySQL MySQL 缓解访问 缓解访问 压力 压力 系统优化 系统优化 配置合理的 配置合理的 MySQL MySQL 服务器,尽量在应用本身达到一0 码力 | 38 页 | 2.04 MB | 1 年前3
使用 Docker 建立 MySQL 集群接下来就需要配置两个数据库了,前提工作是镜像中并没有自带 vi,所以在两 个容器内都需要: apt-get update apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb10 码力 | 3 页 | 103.32 KB | 1 年前3
共 9 条
- 1













