0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于云上MySQL你不知道的8个要点

阿铭linux 来源:高效运维 作者:苏欣 2021-08-14 11:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

使用云上的 MySQL 时,会遇到很多人询问 CDB 的。为了更好的了解云上的 MySQL,本文将介绍一些重要的知识点。

1.实例类型

目前云数据库 MySQL 支持三种架构:基础版、高可用版、单节点高 IO 版

1.基础版是单个节点部署,价格低,性价比非常高,由于是单节点,数据安全性以及可用性不能保证,不建议生产环境使用

2.高可用版采用一主 N 从的高可用模式,实时热备,提供宕机自动检测和故障自动转移。主从复制方式有三种:异步、半同步、强同步。高可用版默认一主一从异步复制方式,可以通过购买和升级迁移到一主二从强同步模式。

3.单节点高 IO 版采用单个物理节点部署,性价比高;底层存储使用本地 NVMe SSD 硬盘,提供强大的 IO 性能。目前应用于只读实例,帮助业务分摊读压力,适用于有读写分离需求的各个行业应用。

2.数据库实例复制方式

异步复制

应用发起数据更新(含 insert、update、delete 等操作)请求,Master 在执行完更新操作后立即向应用程序返回响应,然后 Master 再向 Slave 复制数据。

数据更新过程中 Master 不需要等待 Slave 的响应,因此异步复制的数据库实例通常具有较高的性能,且 Slave 不可用并不影响 Master 对外提供服务。但因数据并非实时同步到 Slave,而 Master 在 Slave 有延迟的情况下发生故障则有较小概率会引起数据不一致。腾讯云数据库 MySQL 异步复制采用一主一从的架构。

半同步复制

应用发起数据更新(含 insert、update、delete 操作)请求,Master 在执行完更新操作后立即向 Slave 复制数据,Slave 接收到数据并写到 relay log 中(无需执行) 后才向 Master 返回成功信息,Master 必须在接受到 Slave 的成功信息后再向应用程序返回响应。

仅在数据复制发生异常(Slave 节点不可用或者数据复制所用网络发生异常)的情况下,Master 会暂停(MySQL 默认10秒左右)对应用的响应,将复制方式降为异步复制。当数据复制恢复正常,将恢复为半同步复制。

腾讯云数据库 MySQL 半同步复制采用一主一从的架构。

强同步复制

应用发起数据更新(含 insert、update、delete 操作)请求,Master 在执行完更新操作后立即向 Slave 复制数据,Slave 接收到数据并执行完 后才向 Master 返回成功信息,Master 必须在接受到 Slave 的成功信息后再向应用程序返回响应。

因 Master 向 Slave 复制数据是同步进行的,Master 每次更新操作都需要同时保证 Slave 也成功执行,因此强同步复制能最大限度的保障主从数据的一致性。但因每次 Master 更新请求都强依赖于 Slave 的返回,因此 Slave 如果仅有单台,它不可用将会极大影响 Master 上的操作。

腾讯云数据库 MySQL 强同步复制采用一主两从的架构,仅需其中一台 Slave 成功执行即可返回,避免了单台 Slave 不可用影响 Master 上操作的问题,提高了强同步复制集群的可用性。

3.高可用实现原理

目前使用最多的就是高可用版本的一主一从架构,正常情况下,客户通过VIP:Port的方式链接到主库上,从库通过 binlog 和主进行同步。云上 MySQL 在数据库所在的物理机发生硬件故障时是如何保证高可用呢?

1.主所在物理机发生故障:

正常情况下,客户端通过VIP:Port的方式链接到主库上,从库通过binlog和主进行同步。如下图中的步骤1

当主库所在的宿主机发生异常宕机,此时客户端的链接就会被切换到从库(客户端具有断线重连几乎不受影响),此时从库进行读写。主库故障后,云平台会自动生成一个新的主从高可用实例,将最近一天的冷备导入到新实例对,在和当前的旧的从库进行 binlog 的同步。如下图中的步骤2

binlog 增量同步完成后,旧的从库会和新的实例对一直进行同步状态,直至维护时间再次进行主动切换,切换时存在秒级闪断,业务有重连可以忽略闪断。此时客户端直接通过VIP+Port的方式连接到新建的实例对。旧实例就会被删除。

2.从所在的物理机发生故障

从库所在的物理机发生故障是,对客户端来说业务是完全不受影响,在从库所在物理机异常后,云平台会自动发起重建从库的流程,在健康的物理机上新建一个从库,导入冷备数据后和主库进行同步,同步完毕后,此时数据库又恢复了主从高可用状态。

4.实例升级

数据库的升级不仅包含数据库版本升级,还包括硬件升配,当然硬件的降配具体的原理也是一样的。

在控制台发起实例升级的任务后,云平台会自动创建一个新的实例对,该新实例对的配置是需要调整到的配置。先将最近一次的备份导出到新建实例对内,在和主实例进行binlog同步。

主实例和新建实例对同步完成后,用户可以自行选择立即切换或在维护期内切换。整个切换过程秒级即可完成,完成后吗,客户端连接数据库请求都会到目标实例对,源实例对则会被自动回收。

从上面的步骤我们可以看到升级实例时,完全不影响数据库的正常使用。升级主要花费的时间是导入冷备和追 binlog 这两个步骤,而这两个环节的所需的时间取决于客户的数据量大小和产生的 binlog 的大小。一般导入冷备的速度是 50G/h(理论值仅供参考)。

5.binlog介绍

binlog日志用于记录所有更改数据的语句, 俗称二进制日志,主要用于复制和即时点恢复。主从复制也是依赖于binlog的。类似于Oracle的archivelog,Mongodb的oplog,所有和写有关或者可能有关的语句,都会记录在binlog文件中。云上的MySQL数据库的binlog文件都是每1G自动生成一个(新购实例也可能256M做一次切割),除非做了flush logs的操作。

MySQL的binlog默认保留5天,所以如果需要回档的话,只能恢复到5天内的任意时间点。

另外控制台下载的 binlog 日志,需要在本地解析的话,须确保客户端的 MySQL 版本与 CDB for MySQL 的版本一致,否则会出现解析出乱码的情况,建议使用 3.4 或以上版本的mysqlbinlog

6.回档介绍

回档是将数据库通过冷备和binlog恢复到之前的某个时间点的一种操作。CDB的回档分为普通回档、快速回档以及极速回档

普通回档:导入该实例的全量备份,再在对选中的库、表进行回档。该回档模式无限制,但回档速度较慢

快速回档:仅导入所选中库级别的备份和binlog,如有跨库操作,且关联库未被同时选中,将会导致回档失败

极速回档:仅导入所选中表级别的备份和binlog,如有跨表操作,且关联表未被同时选中,将会导致回档失败。极速模式下,请手动选择需要回档的表。如果表已经被删除,需要客户自行创建表在进行回档操作。

7.慢查询

慢查询就是执行数据库查询时消耗时间比较大的SQL语句。MySQL CPU 利用率过高,大部分原因与低效 SQL 有关系,通过优化低效 SQL 基本可以解决大部分问题。MySQL 慢查询时间的默认值是10s,在遇到性能问题时,若发现没有慢查询,建议将其参数调成1s ,再观察业务周期内的慢查询,进而对其慢查询进行优化。

如果出现全表扫描较高的情况,可以打开log_queries_not_using_indexes参数,此时未使用索引的全表扫描也可以记录到慢查询里面。这个参数并不建议一直打开,会对数据库的磁盘造成较大影响。

8.MySQL空间

用户使用查询语句得到的MySQL空间和控制台看到的已使用空间相比有很大出入,为什么?

MySQL 的空洞效应导致,使用过程中的一些碎片没有得到合理释放因此查询语句查出来的空间和控制台统计的实际已使用空间相比少了许多,这部分是碎片,彻底解决需要在夜深人静的时候执行 optimize table。

来源:https://cloud.tencent.com/developer/article/1579285

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SSD
    SSD
    +关注

    关注

    21

    文章

    3165

    浏览量

    122696
  • MySQL
    +关注

    关注

    1

    文章

    938

    浏览量

    29845
  • CDB
    CDB
    +关注

    关注

    0

    文章

    2

    浏览量

    6694

原文标题:云上 MySQL 的这8个要点,运维,请了解一下~

文章出处:【微信号:aming_linux,微信公众号:阿铭linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    SMA接头老化了只能报废?分享几个不知道的维护回春术

    SMA 连接器性能下降只能报废?本文由德索精密工业(Dosin)技术专家分享四鲜为人知的射频接口“回春术”。从高纯酒精深层除垢到阻抗稳定性恢复,深度解析如何通过物理维护延长高频跳线使用寿命。文章附带详细的维护效果评估表,助您在保障射频系统精度的同时,大幅降低 B 端实验室及工程现场的耗材成本。
    的头像 发表于 04-29 15:36 396次阅读
    SMA接头老化了只能报废?分享几个<b class='flag-5'>你</b><b class='flag-5'>不知道</b>的维护回春术

    GB 44240深度解读(二)|| 的BMS和结构设计,正在让“必然不过GB 44240”

    一篇说“会失败”,这一篇说“为什么一定失败”在上一篇我们讲了一件事:很多项目,在送检前其实已经注定失败但很多企业的问题是:知道有问题,但不知道问题具体在哪这一篇我们只做一件事:把“失败原因”拆到
    的头像 发表于 04-29 11:05 728次阅读
    GB 44240深度解读(二)|| <b class='flag-5'>你</b>的BMS和结构设计,正在让<b class='flag-5'>你</b>“必然不过GB 44240”

    【文章转载】不知道的Vector | VectorCAST/C++的AI辅助测试功能

    从2026版本开始,VectorCAST/C++推出首批AI辅助测试功能,旨在帮助开发团队解决单元测试过程中的两核心难点:1.如何根据需求描述自动生成可验证逻辑功能的单元测试用例(Req2test
    的头像 发表于 04-29 10:03 344次阅读
    【文章转载】<b class='flag-5'>你</b><b class='flag-5'>不知道</b>的Vector | VectorCAST/C++的AI辅助测试功能

    AI不是不会用,是真不会&amp;quot;接&amp;quot; | 科技AI网关上线,邀请内测!

    ‍‌有没有发现,AI这几年像极了“武林高手”个个身怀绝技:会写文案、会做客服、会写代码、会做数据分析,甚至还能陪你聊天到半夜。但问题来了:高手很多,企业却常常不知道该怎么把它们“请进门、管起来
    的头像 发表于 04-21 09:47 354次阅读
    AI不是不会用,是真不会&amp;quot;接&amp;quot; | <b class='flag-5'>云</b>边<b class='flag-5'>云</b>科技AI网关上线,邀请内测!

    风火轮NAS主机养龙虾:给AI私人助手注入灵魂

    区别,问我答,都很有礼貌,很通用,一点性也没有。 但是这只“龙虾”不认识,他不知道是一
    的头像 发表于 03-18 17:40 1174次阅读
    风火轮NAS主机养龙虾:给AI私人助手注入灵魂

    全新升级,共赴新程 | 科技焕新启航,邀您共鉴新篇

    前言不知道大家有没有发现,“科技”的官方名称已悄悄变成了“科技网服务”,这不仅是完
    的头像 发表于 03-17 10:17 584次阅读
    全新升级,共赴新程 | <b class='flag-5'>云</b>边<b class='flag-5'>云</b>科技焕新启航,邀您共鉴新篇

    的EMC瓶颈,不是经验不够,是体系不全

    EMC的EMC瓶颈,不是经验不够,是体系不全现在的状态,是不是这样?产品送测前,心里完全没底,不知道哪一项会挂传导发射超标,换了十几种电容电感,还是压不下去静电打几下,系统重启,
    的头像 发表于 03-10 16:41 525次阅读
    <b class='flag-5'>你</b>的EMC瓶颈,不是经验不够,是体系不全

    恒讯科技解析:如何安装MySQL并创建数据库

    安装和管理MySQL不必复杂。只需几分钟,就能在Linux服务器搭建MySQL,创建第一数据库,甚至自动化备份——同时确保数据安全有序
    的头像 发表于 01-14 14:25 477次阅读

    组合导航不知道怎么选,看这里

    级MEMS陀螺仪与加速度计,通过微机电技术集成在毫米芯片,搭载卫星模块以及其他器件,尺寸仅有65mm*70mm*45.5mm,以下是三种方案详细介绍: 超高精度方案—ER-GNSS/MINS-01 产品定位 一款拥有测绘级超高精度的组合导航,是市面上采用MEMS技术组合导航系统中
    的头像 发表于 01-08 15:47 431次阅读

    断电时,的后备电源真能启动吗?多数人不知道的UPS保养真相

    断电那一刻,的后备电源真的能顶上吗?深夜,机房警报突然响起,屏幕瞬间熄灭——不是演习,市电真的断了。所有人的心都提到了嗓子眼,三秒后,服务器指示灯重新亮起,UPS电源的显示屏稳定地闪烁着运行
    的头像 发表于 12-05 13:37 2042次阅读
    断电时,<b class='flag-5'>你</b>的后备电源真能启动吗?多数人<b class='flag-5'>不知道</b>的UPS保养真相

    新手小白必看!关于A100主机租用,你想知道的一切都在这!

    “我想租一台A100主机来跑我的模型,但完全不知道从何下手。”——这是我们听到最多的来自AI新手的声音。A100,这个听起来就“高大”的名词,背后其实是一套清晰、可操作的流程。今天,我们就用
    的头像 发表于 10-31 19:24 2123次阅读
    新手小白必看!关于A100<b class='flag-5'>云</b>主机租用,你想<b class='flag-5'>知道</b>的一切都在这!

    CentOS 7下MySQL 8双主热备高可用架构全解

    Centos7部署MySQL8+keepalived双主热备(含Keepalived配置与GTID同步优化方案) 架构拓扑原理 GTID同步 VIP 192.168.1.100 MySQL主节点1
    的头像 发表于 08-12 17:08 1057次阅读

    阿里设备的物模型数据里面始终没有值是哪里的问题?

    如上图,不知道讲清楚没有。 IG502自定义TOPIC 发到阿里没问题。采用阿里物模型的格式来上发就不行。请大佬指教!
    发表于 08-05 06:43

    编译错误: error: unrecognizable insn,不知道原因,请教!

    用start_gui.exe生成的代码,再用SEGGER Embedded打开,编译有错,不知道是什么原因,请教各位大佬?
    发表于 06-23 14:45

    做线材,PC的朋友:我不允许不知道这颗芯片方案

    1.5K 欧姆拉电阻 支持三端点 1.6 模数转换器 4 ADC 通道(AD0、AD1、AD2、AD3) 8 位分辨率 用于降噪的数字滤波器 1.7 电压比较器 4
    发表于 06-12 10:38