如何用 MySQL 构建全方位高可用应用默认设置 – 并行:主数据库向应 用程序发送确认,在 存储引擎上提交,然 后将事务发送到从数 据库 • 快速 • 如果主数据库停机有可 能丢失更改 •半同步 – MySQL 5.5+ - 在 MySQL 5.7 中进行了 增强 – 串行:主数据库等待 从数据库记录更改并 将更改刷新到磁盘, 然后以并行方式提交 到存储引擎并向应用 程序发送确认 • 中度延迟 • 无损 (MySQL Group Replication • MySQL Group Replication是什么? “任何一个都可以更新 MySQL的复制插件,内建 自动分化散式的回复,冲突处理,群组 成员管理 和分散式协议.” • 能为使用者做什么? – 免于处理资料库的故障移转. – 提供容错能力. – 使我们能设定在群组中所有的资料库都能更新. – 自动化群组设定 (在宕机时,失败时,和重新连线时的处理). –0 码力 | 40 页 | 2.19 MB | 1 年前3
谈谈MYSQL那点事机房的 M2 只做 standby 容灾方 式的用途。 当然这里会用到 3 台数据库服务器,也许会增加采 购压力,但是我们可以提供更好的对外数据服务的能力和 途径,实际中尽可能两者兼顾。 MySQL 架构设计—高可用架构 系统优化:硬件、架构 系统优化:硬件、架构 服务优化 服务优化 应用优化 应用优化 MySQL MySQL 优化方式 优化方式 影响性能的因素 innodb_flush_log_at_trx _commit 1 0 0 代表日志只大约每秒写入日志文件并且日志文件 刷新到磁盘 ; 1 为执行完没执行一条 SQL 马上 commit; 2 代表日志写入日志文件在每次提交 后 , 但是日志文件只有大约每秒才会刷新到磁盘上 . 对速度影响比较大,同时也关系数据完整性 innodb_log_file_size 8M 512M 在日志组中每个日志文件的大小 , 一般是 尽可能的使用 NOT NULL NOT NULL 填充数据库 填充数据库 拆分大的 拆分大的 DELETE DELETE 或 或 INSERT INSERT 语句 语句 批量提交 批量提交 SQL SQL 语句 语句 MySQL MySQL 技巧分 技巧分 享 享 MySQL MySQL 技巧分享 技巧分享 常用技巧 常用技巧 使用 使用 Explain/ DESC0 码力 | 38 页 | 2.04 MB | 1 年前3
Kubernetes Operator 实践 - MySQL容器化Mysql Group Replication Ø MySQL 官方提供 Ø 5.7 新特性 Ø 基于 Paxos 协议 Ø 写入延迟相对高 MySQL 高可用的实现方式 MHA 高可用简介 • 节点分为 mha-manager、 mha-node • 节点两两间 ssh 免密登录 • 一个 mha-manager 管理多个 mysql 集群,每个集群对应一 个 manager 为 sts 最后一个 pod operator 执行 sts 扩缩容 判断 调用 mha 切主 否 是 pod 都正常运行? 重新调度 mha MGR 高可用简介 • 多主和单主两种工作模式 • MGR 只支持 InnoDB 引擎 • 开启 GTID,ROW 模式 binlog • 每张表必须有检测冲突的主键 • 目前最多只支持 9 个节点 • loose-group_replication_0 码力 | 42 页 | 4.77 MB | 1 年前3
Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波。 目前使用的host模式,无法隔离网络。但是考虑到10G接入,且单机密度可控的情况下,网 络消耗不会过载。另外目前我们已经在线下尝试结合Ovs+Dpdk的方案实现网络隔离。 容器的调度 •提供两种API: •Docker API的封装,用于创建,删除,修改。 •集群管理API,用于集群管理。 •Scheduler调度:选择最优节点创建容器。 •Agent:用于连接监控模块,上报系统运行状况。 mail TCMHA 管理分为两个部分: • MariaDB、MySQL5.6的高可用管理是基于开源 工具MHA定制开发后的工具完成的,该工具支持 了MariaDB的gtid、更完善的哨兵检测机制、对 接了DB中间件等定制化功能。 • MySQL5.7的MGR复制集群是我们自己写的一套 高可用组件配合DB中间,实现无感知的高可用切 换。 兼容mysql协议 支持SELECT/INSERT/UPDATE/DELETE语句0 码力 | 32 页 | 7.11 MB | 1 年前3
MySQL 企业版功能介绍MySQL Workbench Oracle 标准支持服务 “借助 MySQL Query Analyzer, 我们可以识别和分析存在问题的 SQL 代码,同时将数据库性能提 升两倍。更加重要的是,我们在三 天内就完成了这一任务,而过去则 需要数周之久。” —Keith Souhrada, 软件开发工程师, Big Fish Games MySQL 企 数据库 MySQL 凭借经济高效、可靠、高性能且可扩展的电子商务、联机事务处理和嵌入式数据库应用 成为全球使用广泛的开源数据库。它是一种事务安全、符合 ACID 标准的集成式数据库,支持全 面的提交、回滚、崩溃恢复和行锁定功能。MySQL 不仅简便易用、易于扩展、性能卓越,而且 还提供了一整套数据库驱动程序和可视化工具,可帮助开发人员和 DBA 自主构建和管理 MySQL 应用。MySQL0 码力 | 6 页 | 509.78 KB | 1 年前3
运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳自动地事务冲突检测。节点之间不能”同时”操作主键相同 记录,如果冲突,只有一个节点成功。------冲突检测。 • 节点故障容忍度强。多数派原则,超过半数节点存活的集 群依然整体可用。------paxos协议。 • 更高级别地保证数据的一致性 ------vs mysql的异步/半同 步复制。 MGR�����:! • 将源自多个数据库节点并发无序的消息进行全局排序。目的 是保证每个节点执行的事务完全相同,顺序也相同。 某个节点被丢弃(不处理 ,在其他节点也将被丢弃。 • 多数派原则,一个消息被超过半数的节点接收&”赞成”,则这 个消息将在全局生效,所有的节点都得执行(处理 这个消 息。 • Paxos协议只实现消息全局排序,不处理冲突。 Paxos��:! • 冲突检查是在执行消息(execute_msg)时发生.前提:消息已经被多数节 点接受。 • 所指的消息表示的是一个事务类型的消息,内容包含事务产生的binlog0 码力 | 32 页 | 9.55 MB | 1 年前3
MySQL高可用 - 多种方案sorry_server,因此如果要实现指 定条件替换或者不替换需要通过其他方式实现,比如:临时更改 mysql 的端口等。 切换需要 1s 左右的时间。 2.4 方案实战 2.4.1 适用场景 这个方案适用于只有两台数据库服务器并且还没有实现数据库的读写 分离的情况,读和写都配置 VIP。这个方案能够便于单台数据库的管理 维护以及切换工作。比如进行大表的表结构更改、数据库的升级等都是 非常方便的。 2.4.2 安装配置比单写入稍微复杂,需要另外一个 VIP。管理比单写入复杂。 主切换后从需要手工切换。 切换需要 1s 左右的时间。 3.4 适用场景 这个方案适用于只有两台数据库服务器(后端有多个从服务器也是可以的, 只是要手工切换从服务器比较麻烦,后面会介绍的 MMM 能将从服务器自动切 换)并且还能实现数据库的读写分离的情况,这样 backup 机器也能用起来,提 或者 mysql 之间不使用复制,而是用共享存储或者 DRBD,这样能解决这个问题。 不方便扩展。 可能会发生脑裂问题。 4.3 方案架构图 4.4 适用场景 该方案适合只有两台数据库的情况,访问量不大,不需要实现读写分离的情况。 4.5 方案实战 4.5.1 实战环境介绍 服务器名 IP VIP 系统 Mysql Master 10.1.1.1130 码力 | 31 页 | 874.28 KB | 1 年前3
使用 Docker 建立 MySQL 集群-e MYSQL_ROOT_PASSWORD=<从数据库 root 密码> --link <主数据库容器名>:master_db -d mariadb 3.2 接下来就需要配置两个数据库了,前提工作是镜像中并没有自带 vi,所以在两 个容器内都需要: apt-get update apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用0 码力 | 3 页 | 103.32 KB | 1 年前3
MySQL 数据库架构灾难恢复解决方案and/or its affiliates. 4 / 55 IT 灾难和中断:例子 5 小时的计算机中断代价 1.5 亿美元。该航空公司最终在停电当天取消 了约1,000 个航班,并在接下来的两天内停飞了另外1,000 个航班。 由于取消约130 个航班和延误200 个航班,成千上万的乘客滞留在世界各 地。 在法国云服务irm 的故障后, 数百万个网站下线了。Anger 预计将使公司 损失超过10 码力 | 52 页 | 3.07 MB | 1 年前3
共 9 条
- 1













