Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波
DB架构 硬件选型 机房 A机房 B机房 C机房 D机房 容器化之后的MySQL就是一个私有DB云 主 从 集 群 创 建 分 片 集 群 创 建 集 成 高 可 用 方 案 巨 细 无 遗 的 监 控 项 精 美 的 图 形 展 示 便 捷 的 告 警 管 理 慢 日 志 分 析 及 查 看 自 动 化 备 份 资 源 池 管 理 高 可 用 切 换 集 群 节 点 管 为了保证容器内的MySQL实例有更好的磁盘IO性能。采用了本地宿主机磁盘挂载到容器内的方式(每个 实例对应一个文件夹)。 这种方式的优势是IO性能最佳,随之而来的缺点是磁盘容量不好估算,有可能在使用了一段时间后出现磁 盘空间不足的问题,这个时候则会启动迁移扩容的流程。 已经在和提供高密度IO分布式存储解决方案厂商接触,计划测试平台接入分布式存储的方案。 磁盘挂载 3301 3302 3303 3304 3305 工具MHA定制开发后的工具完成的,该工具支持 了MariaDB的gtid、更完善的哨兵检测机制、对 接了DB中间件等定制化功能。 • MySQL5.7的MGR复制集群是我们自己写的一套 高可用组件配合DB中间,实现无感知的高可用切 换。 兼容mysql协议 支持SELECT/INSERT/UPDATE/DELETE语句 支持单DB实例上的inner join 支持单DB实例上的事务 支持聚合函数:max、min、sum、avg、count0 码力 | 32 页 | 7.11 MB | 1 年前3MySQL高可用 - 多种方案
................................................................................ 4 2.4.3 Mysql 的安装和配置 ........................................................................................ 4 2.4 ................ 4 2.4.5 Lvs 的安装 ........................................................................................................ 4 2.4.6 Keepalived 的安装 ................................. ............................................................................... 10 3.5.2 Mysql 的安装和配置 ...................................................................................... 10 3.50 码力 | 31 页 | 874.28 KB | 1 年前3如何用 MySQL 构建全方位高可用应用
Shared Storage • Group Replication • MySQL Cluster 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 15 •预安装且预配置 •完全集成且经过 QA 测试 •单点支持 •通过 VM 重新启动故障实例自动 恢复 •将正在运行的实例实时迁移到新 主机 适用于 MySQL 的 Oracle VM 模板 Oracle Cluster 概述 • 具有持久性的内存优化表 • 延迟时间短且可预测,访问时间控制在一定范围内 实时 • 自动分片、多主 • 符合 ACID,OLTP + 实时分析 高伸缩性,读取 + 写入 • 无共享,无单点故障 • 自我修复 + 联机运行 99.999% 可用性 • 关键字/值 + 复杂的关系查询 • SQL + Memcached + JavaScript + Java + HTTP/REST MySQL Router应用能透明的和数据库连结 -支持负载均衡,高可用读写分离和数据分片 MySQL Router 应用端 MySQL Router Group Replication主-主复制 无共用支持写的高可用 MySQL Cluster 支持5个9的高可用 Clusterware为 基础的主备架构 支持无损失的故障移转 主从复制 写的 高可用 和负载均衡 主库 故障移转 读写分离0 码力 | 40 页 | 2.19 MB | 1 年前3MySQL 8.0.17 调优指南(openEuler 20.09)
的${device}为数据盘名称,根据实 际磁盘名称进行修改。NVME盘不 支持此操作。 echo deadline > /sys/ block/${device}/queue/ scheduler /sys/block/$ {device}/queue/ nr_requests 提升磁盘吞吐量,尤其对myisam 存储引擎,可以调整到更大。命令 中的${device}为数据盘名称,根据 实际磁盘名称进行修改。0 码力 | 11 页 | 223.31 KB | 1 年前3使用 Docker 建立 MySQL 集群
开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 最新版本,apt-get 中版本较老。 首先获取安装脚本: wget https://get.docker.com 下下来的虽然名字是 index.html,但其实是脚本文件,所以我们 chmod +x index.html 这样我们就可以执行这个文件: sudo ./index.html 安装完成后根据提示,可以将当前用户加到 docker 用户组里,这样就不用每次 执行 docker 都需要 sudo 了。 sudo usermod -aG docker <你的用户名> 对于 Centos6,首先要把企业常用软件包的软件源安装上 yum install epel-release 然后再 yum install docker-io 第二步 运行 Mariadb 容器 首先要将数据镜像拉下来 docker pull mariadb:latest0 码力 | 3 页 | 103.32 KB | 1 年前3MySQL 数据库架构灾难恢复解决方案
InnoDB Cluster 高可用 (区域内的失败) RPO =0 RTO =秒级 (自动故障转移) 灾难恢复( 区域故障) RPO !=0 RTO =分钟或更长时间( 手动故障转移) 无写入性能影响 特点 • 简单易用 • 熟悉的界面和可用性 mysqlsh,CLONE,... • 在线添加/删除节点/集群 • 路由器集成, 拓扑结构发生变化时无需重新配置 应用程序 Copyright @ 2021 Oracle and/or its affiliates. 组复制崩溃/分区 47 / 55 路由器集成 当 GR 处于脱机状态时: • 网络分区 • 无仲裁 • 整个集群丢失( 例如断电) 故障转移到另一个集群 • 一个命令使主集群失效并提升新的主集群: forcePrimaryCluster() • 路由器实例将跟从主( 取决于目标模式) its affiliates. 48 / 55 组复制崩溃/分区- forcePrimaryCluster() & Router 路由器集成 当 GR 处于脱机状态时: • 网络分区 • 无仲裁 • 整个集群丢失( 例如断电) 故障转移到另一个集群 • 一个命令使主集群失效并提升新的主集群: forcePrimaryCluster() • 路由器实例将跟从主( 取决于目标模式)0 码力 | 52 页 | 3.07 MB | 1 年前3谈谈MYSQL那点事
‘abc%’ LIKE ‘abc%’ 将能够使用索引 将能够使用索引 如果在 如果在 SQL SQL 里使用了 里使用了 MySQL MySQL 部分自带函数,索引将失效,同时将无 部分自带函数,索引将失效,同时将无 法 法 使用 使用 MySQL MySQL 的 的 Query Cache Query Cache ,比如 ,比如 LEFT(), SUBSTR(),0 码力 | 38 页 | 2.04 MB | 1 年前3Kubernetes Operator 实践 - MySQL容器化
• 基于 Host Path Volumes • 优点:读写延迟低 • 缺点:单点数据,容器漂移时 数据丢失 踩到的坑 • 现象:执行 docker 命令时,docker daemon 无响应,/var/log/messages 大量报错 libceph: osdxx 10.0.0.0:6812 socket closed (con state OPEN) 原因:libceph 触发了0 码力 | 42 页 | 4.77 MB | 1 年前3
共 8 条
- 1