MySQL高可用 - 多种方案.................................................................................... 31 文件状态 [ ] 草稿 [ √ ] 正式发布 [ ] 正在修改 名称 mysql 高可用方案探究 作者 飞鸿无痕 版本 V1.0 日期 2012-09-04 博客地址 方案实战 2.4.1 适用场景 这个方案适用于只有两台数据库服务器并且还没有实现数据库的读写 分离的情况,读和写都配置 VIP。这个方案能够便于单台数据库的管理 维护以及切换工作。比如进行大表的表结构更改、数据库的升级等都是 非常方便的。 2.4.2 实战环境介绍 服务器名 IP VIP 系统 Mysql Master 10.1.1.113 10.1.1.176 Centos 机器也能用起来,提 高系统资源的利用率,减少 master 端的负载。应用中读数据库配置读 VIP,写数 据库配置写 VIP。这个方案也能够很方便的进行单台数据库的管理维护以及切换 工作。比如进行大表的表结构更改、数据库的升级等都是非常方便的。 3.5 方案实战 3.5.1 实战环境介绍 服务器名 IP VIP 系统 Mysql Master 10.1.1.113 100 码力 | 31 页 | 874.28 KB | 1 年前3
Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波7镜像(按产品)、监控容器镜 像、HA管理系统镜像、实例迁移服务镜像、监控服务端镜像 PS:容器虚拟化带来轻量高效,快速部署的同时,docker容器在隔离性方面也存在一些缺陷。例如,在容器内部proc文件系统 中可以看到Host宿主机上的proc信息。这样就导致了一些问题,比如监控信息不准确、限制内存会导致应用程序OOM等。我们 基于lxcfs组件来增强容器的隔离性。 资源隔离 CPU最大超卖3 量,使用超过80%的时候 会结合本地磁盘空间评估是否有足够空间扩容,若宿主机剩余空间不足会启动迁移扩容流程 。 目前使用的host模式,无法隔离网络。但是考虑到10G接入,且单机密度可控的情况下,网 络消耗不会过载。另外目前我们已经在线下尝试结合Ovs+Dpdk的方案实现网络隔离。 容器的调度 •提供两种API: •Docker API的封装,用于创建,删除,修改。 •集群管理API,用于集群管理。 Node Docker Docker Docker Docker 集群 报警 • 为了保证容器内的MySQL实例有更好的磁盘IO性能。采用了本地宿主机磁盘挂载到容器内的方式(每个 实例对应一个文件夹)。 这种方式的优势是IO性能最佳,随之而来的缺点是磁盘容量不好估算,有可能在使用了一段时间后出现磁 盘空间不足的问题,这个时候则会启动迁移扩容的流程。 已经在和提供高密度IO分布式存储解决0 码力 | 32 页 | 7.11 MB | 1 年前3
MySQL 8.0.17 调优指南(openEuler 20.09)是最好的RDBMS (Relational Database Management System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了 双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其 如果以上指标都正常,应用程序的算法、缓冲、缓存、同步或异步可能有问题, 需要具体深入的分析。 瓶颈点 说明 硬件/规格 一般指的是CPU、内存、磁盘I/O方面的问题,分为服务器硬件瓶 颈、网络瓶颈(对局域网可以不考虑)。 操作系统 一般指的是Windows、UNIX、Linux等操作系统。例如,在进行性 能测试,出现物理内存不足时,虚拟内存设置也不合理,虚拟内 存的交换效率就会大大降低,从而导致行为的响应时间大大增 得最佳性能。 以下脚本是在华为鲲鹏920 4826处理器 + Huawei TM280 25G网卡上的最佳绑中断设 置,其中第一个参数$1是网卡名称,第二个参数$2是队列数目32,第三个参数$3是网 卡对应的总线名,可以用ethtool -i <网卡名>查询出: #!/bin/bash eth1=$1 cnt=$2 bus=$3 ethtool -L $eth1 combined $cnt irq1=`cat0 码力 | 11 页 | 223.31 KB | 1 年前3
谈谈MYSQL那点事数据存储方式简单,使用 B+ Tree B+ Tree 进行索引 进行索引 • 使用三个文件定义一个表: 使用三个文件定义一个表: .MYI .MYD .frm .MYI .MYD .frm • 少碎片、支持大文件、能够进行索引压缩 少碎片、支持大文件、能够进行索引压缩 • 二进制层次的文件可以移植 二进制层次的文件可以移植 (Linux (Linux Windows) Windows) Windows) • 访问速度飞快,是所有 访问速度飞快,是所有 MySQL MySQL 文件引擎中速度最快的 文件引擎中速度最快的 • 不支持一些数据库特性,比如 事务、外键约束等 不支持一些数据库特性,比如 事务、外键约束等 • Table level lock Table level lock ,性能稍差,更适合读取多的操作 ,性能稍差,更适合读取多的操作 InnoDB InnoDB 设计合理架构,如果 设计合理架构,如果 MySQL MySQL 访问频繁,考虑 访问频繁,考虑 Master/Slave Master/Slave 读写分离;数据库分表、数据库切片(分 读写分离;数据库分表、数据库切片(分 布式),也考虑使用相应缓存服务帮助 布式),也考虑使用相应缓存服务帮助 MySQL MySQL 缓解访问 缓解访问 压力 压力 系统优化 系统优化 0 码力 | 38 页 | 2.04 MB | 1 年前3
使用 Docker 建立 MySQL 集群最新版本,apt-get 中版本较老。 首先获取安装脚本: wget https://get.docker.com 下下来的虽然名字是 index.html,但其实是脚本文件,所以我们 chmod +x index.html 这样我们就可以执行这个文件: sudo ./index.html 安装完成后根据提示,可以将当前用户加到 docker 用户组里,这样就不用每次 执行 docker 都需要 sudo 了。 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 用 docker rm -f <容器名> 删除容器后修改 run 脚本再次运行,直到满意为止。 下面是我的 run 命令: docker run --name mdb1 TERM=linux \ -d mariadb 第三步 配置一主一从集群 3.1 接下来启动另一个容器作为从数据库,因为镜像不支持在容器内进入 mysql 控制 台,所以依然需要把端口暴露出来以供局域网访问,但主数据库容易可以链接进 来作为一个可访问的主机 master_db。 docker run --name <从数据库名> -e MYSQL_ROOT_PASSWORD=<从数据库 root 密码>0 码力 | 3 页 | 103.32 KB | 1 年前3
如何用 MySQL 构建全方位高可用应用MySQL Replication • Shared Storage • Group Replication • MySQL Cluster MySQL Cluster 概述 • 具有持久性的内存优化表 • 延迟时间短且可预测,访问时间控制在一定范围内 实时 • 自动分片、多主 • 符合 ACID,OLTP + 实时分析 高伸缩性,读取 + 写入 • 无共享,无单点故障 • 自我修复 + 联机运行 冲突检测 • 通过异常表通知应用程序 • 可以选择自动解决冲突 – 自动解决冲突 • 冲突的事务和独立的事务会被回滚 •不会对应用程序方案进行更改 4/16/2017 30 主动-主动异地复制 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 MySQL Cluster 数据节点 Master –Slave Replication •内存优化表 – 持久 – 可与基于磁盘的表混合使用 可与基于磁盘的表混合使用 •大量并发 OLTP •通过分布式联接支持分析 •通过并行表扫描支持非索引搜索 •MySQL Cluster 7.4 DBT2 FlexAsych – 2 亿次 NoSQL 读取/秒(32 个节点) 4/16/2017 31 MySQL Cluster 7.4 NoSQL 性能 2 亿次 NoSQL 读取/秒 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。0 码力 | 40 页 | 2.19 MB | 1 年前3
MySQL 企业版功能介绍企业级透明数据加密 (TDE) MySQL 企业级透明数据加密 (TDE) 通过加密数据库的物理文件来实现静止数据加密。数据在写 入存储之前实时自动加密,从存储读取时自动解密。因此,黑客和恶意用户无法从表空间文件、 数据库备份或磁盘中读取敏感数据。MySQL 企业级 TDE 使用双层加密密钥体系结构,包括主加 密密钥和表空间密钥,可轻松实现密钥管理和轮换。 MySQL 企业级加密 为在整个生命周期全程保护敏感数据,MySQL 语句活动与批准的白名单不匹配。 MySQL 企业级审计 借助 MySQL 企业级审计,企业可以快速无缝地在现有应用中添加基于策略的审计合规性。您可 以动态启用用户级活动日志、实施基于活动的策略、管理审计日志文件以及将 MySQL 审计集成 到 Oracle 和第三方解决方案中。 MySQL Enterprise Monitor MySQL Enterprise Monitor 和 MySQL Query 和 DBA 快速发现性能调优机会。使用 MySQL Query Analyzer,开发人员能够: 迅速识别导致应用性能下降的问题最严重的查询 使用高级搜索排除特定的查询问题,如全表扫描和坏索引 直观地将选定时间段内的查询执行与 MySQL 服务器活动关联起来 深入了解详细的查询统计信息,迅速确定查询发生问题的原因 4 ORACLE 产品介绍0 码力 | 6 页 | 509.78 KB | 1 年前3
MySQL 数据库架构灾难恢复解决方案@ 2021 Oracle and/or its affiliates. 50 / 55 故障类型: 高可用性: 单服务器故障, 网络分区 灾难恢复: 整个区域/网络故障 人为错误: 个别表问题 10 / 55 业务需求 概念 - RTO & RPO RTO :恢复时间目标 从单个故障中恢复需要多长时间 RPO :恢复点目标 发生故障时可能丢失多少数据 Copyright @ and/or its affiliates. 灾难恢复 - 多区域 MySQL InnoDB Cluster RPO =0 RTO =秒级 多区域 多主数据库 3DC 需要非常稳定的广域网 写入性能受DC 之间的延迟影响 53 / 55 Copyright @ 2021 Oracle and/or its affiliates. 灾难恢复 - 多区域 MySQL InnoDB0 码力 | 52 页 | 3.07 MB | 1 年前3
Kubernetes Operator 实践 - MySQL容器化Operator CRD 里有什么 MySQL CRD • Spec:配置 & 期望状态 • Status:当前状态 MySQL 配置 • 版本 • 端口 • 存储信息 • 配置文件 集群配置 • 副本数 • 高可用模式 K8s 调度信息 • 资源套餐 • 亲和性信息 • NodeSelector 使用 CRD 2. client-go 配套工具 apiVersion: pod 都正常运行? 重新调度 mha MGR 高可用简介 • 多主和单主两种工作模式 • MGR 只支持 InnoDB 引擎 • 开启 GTID,ROW 模式 binlog • 每张表必须有检测冲突的主键 • 目前最多只支持 9 个节点 • loose-group_replication_ • group_name • start_on_boot • local_address0 码力 | 42 页 | 4.77 MB | 1 年前3
TokuDB索引结构TokuMx: ft-index + MongoDB Server层代码 InnoDB TokuDB MyISAM MySQL Server层 MySQL Storage层 Linux 文件系统层 TokuDB特点 • 支持事务(ACID)的MySQL存储引擎 • 插入性能大大高于InnoDB(分形树vs B+树) • 查询性能略低于InnoDB • 在线执行DDL操作(不阻塞写操作)0 码力 | 19 页 | 1.97 MB | 1 年前3
共 10 条
- 1













