昱唯商城

产品分类
  • 腾讯
    腾讯云
    计算
    存储
    网络
    CDN与加速
    数据库
    视频服务
    云通信
    Serverless
    移动开发
    中间件
    数据处理
    量子技术
    网络安全
    终端安全
    应用安全
    业务安全
    安全管理
    数据安全
    安全服务
    云智大数据平台
    云智大数据可视化
    云智大数据应用
    人脸识别
    人脸特效
    人体识别
    文宇识别
    图像识别
    语音技术
    AI 平台服务
    自然语言处理
    智能机器人
    域名与网站
    物联网
    区块链
    企业应用
    企业通信
    办公协同
    金融服务
    教育服务
    游戏服务
    零售服务
    移动服务
    建筑服务
    政务服务
    汽车服务
    云资源管理
    开发者工具
    监控与运维
    管理与审计
    通用解决方案
    行业解决方案
    云智大数据与AI解决方案
    微信解决方案
    教育解决方案
    音视频解决方案
    物联网解决方案
    安全与运维解决方案
    极光产品
    开发者工具
    腾讯企业邮
    腾讯企业邮箱
    企业微信
    企业微信
    腾讯广告
    微信广告
    QQ广告
    腾讯视频广告
    腾讯新闻广告
    腾讯信息流广告
    优量广告
    腾讯音乐广告
    腾讯企点
    企点协同(企业QQ)
    企点客服
    企点营销
    企点呼叫中心
    企点应用市场
    企点客服机器人
    QTrade
    腾讯安全
    终端安全
    主机安全
    安全管理
    数据安全
    数据安全
    网络安全
    金融风控
    内容安全
    业务安全
    营销风控
    安全组件
    应用安全
    腾讯教育
  • 知道创宇
    技术安全
    抗D保-DDoS流量清洗服务
    游戏高防
    创宇盾 - Web应用防火墙
    加速乐(CDN内容分发)
    漏洞扫描
    创宇监控 · 智能云监控服务
    猎风 - 威胁感知系统
    业务安全
    羊毛盾-知道创宇业务反欺诈
    数据盾(机器流量管控)
    海外CN2专线防护
    IPv6安全改造
    业务安全舆情监测服务
    云防御态势感知指挥平台
    商业安全
    创宇信用
    SSL证书
    盾牌座
    安全服务
    渗透测试
    代码审计
    风险评估
    应急响应
    信息安全对抗演习服务
    网络信息安全意识培训服务
    黑客入侵救援
    等级保护2.0安全解决方案
    安全定制
    区块链定制安全研发
    云计算产品
    御点终端安全管理系统
    网络资产普查和风险感知系统
    浑天智鉴
    创宇鹰眼 - 知道创宇反电话诈骗系统
    创宇监控-关键字监控做您的“第三只眼”
    服务
    智能设备安全检测
    区块链安全
    智能合约审计
    公链安全审计
    钱包安全审计
    安全产品
    ZoomEye网络空间雷达系统
    在线漏洞扫描
    ScanV安全检测管理平台
    威胁和日志管理系统
    安全事件监控
    政务云防御平台
    御点终端安全管理系统
    ZoomEye BE 网络空间资产安全管理系统
    技术安全
    解决方案
    政府行业解决方案
    金融行业解决方案
    电信行业解决方案
    大型企业集团行业解决方案
    中小企业行业解决方案
    电商行业安全解决方案
    棋牌游戏解决方案
    直播行业安全解决方案
    大数据反诈骗解决方案
    Web系统远程监控解决方案
    全网态势感知解决方案
    全网资源侦测解决方案
    云安全解决方案
    金融安全解决方案
    区块链安全解决方案
    教育类网站安全解决方案
    公安机关互联网安全监督检查规定解决方案
    创宇信用
    内容安全
    创宇大数据
    SSL证书
    短视频运营
    秘信聊
    实名认证
    行业认证
    搜狗认证
    官网认证
    权威认证
    品牌宝
    短视频运营
  • 昱唯系列
    昱唯云建站
    昱唯网站设计
    昱唯网站优化
    昱唯企业邮箱
    昱唯微传单
    昱唯公众号助手
    昱唯门店系统
    昱唯游戏营销
    昱唯销售系统
    昱唯小程序
    昱唯商城
    昱唯建站
    昱唯400
    昱唯ABC
    昱唯ABC企业邮箱
    APP开发
    昱唯小票打印机
    昱唯ABC官网系统
    昱唯HI名片
    昱唯安全防护营销型网站
  • 法大大
    电子合同
云数据库TencentDBforMySQL
云数据库TencentDBforMySQL 
产品保证
官方授权代理商
可开具专票和普票
24小时售后服务支持
产品详情

腾讯云数据库 MySQL(TencentDB for MySQL)让用户可以轻松在云端部署、使用 MySQL 数据库。MySQL 是世界上最流行的开源关系数据库,通过云数据库 MySQL,您在几分钟内即可部署可扩展的 MySQL 数据库实例。不仅经济实惠,而且可以弹性调整硬件容量的大小而无需停机。云数据库 MySQL 提供备份回档、监控、快速扩容、数据传输等数据库运维全套解决方案,为您简化 IT 运维工作,让您能更加专注于业务发展。

云数据库 MySQL(TencentDB for MySQL) 提供了在云中的可扩展的虚拟计算资源,随着业务量的变化,您可以随时调整您的云数据库 MySQL 规格。

您可以使用控制台或 API 来启动、终止和监控您的实例。

您可以灵活选择付费方式,按量计费只需为您实际消耗的资源付费,按小时结算;包年包月适合业务量稳定的场景,费用更低廉。

关注有礼

扫码关注“腾讯云数据库 TencentDB”官方微信,即得腾讯云10元无门槛代金券(服务器和数据库可用),可在移动端一键管理云资源!另有数据库前沿资讯、“迪B课堂”系列实用教程和最新优惠活动关注立享!

功能

云数据库 MySQL 是集高性能、高可用、高安全防护、可扩展、易用型为一体的数据库托管服务。

极高性能

  • 硬件保障
    基于 PCI-E SSD,提供至少高于 SATA 三倍的 IOPS 配置,强大 IO 性能保障数据库的访问能力;
    存储硬件采用 NvMe 协议,专门针对 PCI-E 接口的 SSD 设计,更能发挥出性能优势;
    高 IO 型单实例最大支持 245509 QPS(每秒访问次数)、488G 内存和 6TB 存储空间。

  • 内核优化
    主从同步多线程优化,解决 DB 间同步性能瓶颈,无需考虑主从同步不及时的问题;
    MySQL 事务线程和 Dump 线程的锁优化,进一步提高数据库性能。

企业级高可用

  • 多可用区容灾
    支持跨可用区部署,主机和备机分处于同城不同可用区,通过腾讯专线网络进行实时的数据复制。本地为主机,远程为备机,外部访问该数据时,首先访问本地的实例,若本地实例发生故障或访问不可达,则访问远程备机。跨可用区部署特性为云数据库 MySQL 提供了多可用区容灾的能力,主机和备机切换过程对用户透明,避免了单 IDC 部署的运营风险,IDC 不可用对业务完全透明。

  • 异地灾备实例
    支持跨地域的异地灾备实例,帮助您建立通过内网专线同步的异地灾备数据同步。在云数据库 MySQL 数据库主实例所在地域的机房发生故障或由其他原因引起不可用的情况下,异地灾备实例为您提供快速恢复数据访问的能力,可帮助您在异地迅速搭建业务体系,将业务访问流量切换到异地恢复运营,减少业务因故障引起的损失,保证了数据库在灾难情况下的高可用性。灾备实例从主实例同步数据过程中,数据写入功能会受到限制。但您可在 Web 控制台将灾备实例升级为主实例,断开与数据同步连接并恢复完整功能。切换过程仅数秒,最大限度的减少了灾难情况下业务不可用的影响时长。

  • 金融级两地三中心方案
    云数据库 MySQL 可提供同城双中心、两地三中心的部署架构。故障发生时,您可以在几分钟内将数据库恢复正常运行。您仅需页面简单配置几步即可实现两地三中心方案:
    选择云数据库 MySQL 跨可用区部署,强同步数据复制方式,提供保障了数据强一致的一地两中心能力;
    为该集群添加异地灾备节点,即可实现两地三中心架构。

  • 完善的热备和冷备
    使用完全同构的物理机提供实时的双机热备,主机故障可秒级切换至备机,提高数据库的可用性,保障业务的无间断服务;基于冷备和 binlog 文件,提供 3 日内无损恢复,5 日冷备数据 dump,保障数据安全恢复。

  • 自动容灾
    支持宕机自动检测和故障自动迁移。在主备切换时,采用 VIP 屏蔽切换过程,主备切换和故障迁移过程对用户透明。您无需关心数据库所在物理机故障和宕机的问题,应用层无需做任何改动即可完成热备切换,业务对容灾切换无感知。

数据强同步

云数据库 MySQL 支持强同步和半同步的数据复制方式。基于腾讯自研数据库 logbus 技术,云数据库 MySQL 对 MySQL 内核进行了多项数据复制优化,极大提高了数据强同步复制性能。同时优化了主备切换引起的幻读现象以及主机宕机恢复时导致的临界事务,大幅提高了MySQL 5.6 版本下的数据一致性。

企业级安全

  • 符合国家/国际/行业相关标准
    云数据库 MySQL 现已代表腾讯云云数据库通过多项国家或国际认证,包括但不限于:ISO22301认证、ISO27001认证、ISO20000认证、ISO9001认证、可信云服务认证、信息安全等级保护(三级或以上)、CSA STAR认证。
    云数据库 MySQL 部分功能设计标准也参考:
    GBT 20273-2006 信息安全技术 数据库管理系统安全技术要求;
    JRT 0072-2012 金融行业信息系统信息安全等级保护测评指南;
    即使您的业务对数据库安全较为敏感,也可以完全放心的使用云数据库 MySQL。

  • 支持私有网络
    云数据库 MySQL 允许您在私有网络 VPC 中运行数据库实例,这使您可以隔离数据库实例并通过行业标准加密的 IPsec VPN 或专线连接到您现有的数据中心。

  • 多重安全防护
    云数据库默认为每个数据库提供多重安全防护,在提供了外网访问功能的数据库实例遭到 DDoS 攻击时,帮助用户抵御各种攻击流量,保证业务正常运行。高效防御 SQL 注入、暴力破解等数据库攻击行为,极大减少用户因数据库攻击带来的业务中断和损失。

  • 细粒度的权限控制
    屏蔽超级管理员账号,避免安全隐患;
    提供精确到表、函数、存储过程等对象级别的权限控制,让您分配的账号只能访问被授权的资源,并将风险控制在可预期范围内。

  • 存储高可靠
    提供在线的主从两份数据存储,确保线上数据安全。每日自动备份数据,云数据库可根据备份文件提供 3 天内的任意时间点回档。同时每天的冷备数据都会存储多份,以便于在灾难情况下进行数据恢复。您可以放心的将数据存储在云数据库 MySQL 上,无需考虑数据丢失的问题。

  • 支持物理独享方案
    在公有云、金融云、黑石数据库(专区)支持以独享物理集群(设备)全部资源部署数据库,这意味着您专享独立的物理设备,不与其他租户共用。独享集群满足您对资源独享、物理安全、行业监管等需求;购买独享集群后,通过腾讯云控制台,灵活创建多种自定义规格的数据库实例。

企业级监控

  • 全面的日常监控
    日常监控支持 60 秒粒度,覆盖连接访问、数据库负载、查询缓存、存储引擎等七十余项重要指标,可全方位监控数据库运行状况。十五项数据库核心性能指标支持秒级的实时监控,可帮助您及时掌握实例运行状况,快速定位实例性能问题。自定义资源阈值告警,可帮助用户知晓 DB 运行中的问题。它将问题及时反馈给运维人员,帮助您快速响应数据库问题。提供慢查询分析报告和 SQL 完整运行报告下载,帮助您了解影响数据库性能的因素。

  • 细粒度的秒级监控
    十五项数据库核心性能指标支持秒级的实时监控,可帮助您及时掌握实例运行状况,快速定位实例性能问题。

  • 自定义告警
    自定义资源阈值告警,可帮助用户知晓 DB 运行中的问题。它将问题及时反馈给运维人员,帮助您快速响应数据库问题。

  • 数据库日志
    提供慢查询分析报告和 SQL 完整运行报告下载,帮助您了解影响数据库性能的因素。

可扩展性

  • 只读实例
    只读实例可帮助用户轻松实现一主多从和读写分离架构,应对业务海量请求压力;云数据库 MySQL 最多支持挂载5个只读实例。只读实例支持负载均衡功能,大大简化从机之间压力分配的过程。

  • 灵活的计费方式
    云数据库 MySQL 提供包年包月和按量计费两种计费模式,满足您不同业务场景下的弹性需求,帮助您节省数据库的成本投入。包年包月的计费模式,您可以根据业务需求一次性支付一个月或几个月的数据库服务费用,避免一次性投入大量资金建设基础设备;按量计费的弹性计费模式,您可以随时开通/销毁数据库实例,按实例的实际使用量计费,适用于突发性业务高峰。

  • 性能和容量扩展
    云数据库 MySQL 除最大规格实例外均提供无缝升级功能。当您遇到性能瓶颈时,您可在页面上通过鼠标点击操作,一键升级到更高性能和容量的实例规格,升级过程不影响您业务正常访问和使用,实现快速、平滑扩容,满足业务快速发展需要。

    易用性


  • 轻松管理海量数据库
    提供命令行和 Web 两种方式管理云数据库,并支持批量数据库的管理、权限设置和 SQL 导入,将海量数据库实例的运维工作简化为在页面点击即可完成,极大地降低了运维工作量。

  • 会话管理
    支持实例会话管理,可快速终止异常会话,帮助您最大限度避免非正常访问导致的数据库宕机。

  • 多种网络接入方式
    支持 VPC 网络和基础网络,还可配置数据库外网访问。通过这些接入方式,您可从腾讯云、IDC、私有云或其他云厂商处访问云数据库,从而满足多种环境下的数据库访问需求。

  • 参数模版
    提供参数配置模版,您可以将常用的数据库配置保存为模版,应用到新建实例中,免去了初始化数据库的繁杂工作,极大地简化了参数调优工作。

  • 支持 API
    云数据库 MySQL 提供完善的 API 体系,您可使用 API 轻松地将云数据库与内部监控、运营系统相结合,实现贴近业务需求、完全自动化的业务运维体系。 查看 API 说明。

数据传输

借助云数据库 MySQL 的数据传输服务 DTS,可轻松实现云主机上自建 MySQL 数据库到云数据库 MySQL 数据库实例,具有外网 IP 的 IDC 机房内/其他友商云 MySQL 数据库到云数据库 MySQL 数据库实例等多种场景下的数据库自动迁移,可极大简化您的数据库上云工作,无需自己手动迁移数据库,实现业务无缝过渡上云。
数据传输服务 DTS 已实现全 Web 化操作,控制台点击操作即可实现自动数据迁移,无需人工值守。

相关概念

实例:腾讯云上的 MySQL 数据库资源。

实例类型:MySQL 实例在节点数量、读写能力与地域部署上不同的搭配。

只读实例:仅提供读功能的 MySQL 实例。

RO 组:提供给用户管理一个或多个只读实例的逻辑工具,可满足读写分离场景下负载均衡,并显著提高用户数据库的读负载能力。

灾备实例:提供跨可用区、跨地域灾备能力的 MySQL 实例。

私有网络:自定义的虚拟网络空间,与其他资源逻辑隔离。

安全组:对 MySQL 实例进行安全的访问控制,指定进入实例的 IP、协议及端口规则。

地域和可用区:MySQL 实例和其他资源的物理位置。

腾讯云控制台:基于 Web 的用户界面。

相关服务

使用计费相关工具来详细并精准计算出实际花费,请参考 费用总览价格计算器

通过购买云数据库 MySQL 实例来搭建云上的数据服务,请参考 购买与续费流程快速入门

使用云数据库 MySQL 数据库迁移工具,来实现云上云下数据的搬迁,请参考 数据迁移

使用云数据库 MySQL 数据订阅工具,来实现数据旁路清洗与分析,请参考 数据订阅

使用云数据库 MySQL 审计功能,来完善事后审计与追溯机制,请参考 数据审计

通过购买云服务器,来部署您的计算服务,请参考 云服务器

使用云监控服务监控云数据库 MySQL 实例的运行情况,请参考 云监控产品文档

编写代码调用腾讯云 API 访问腾讯云的产品和服务,请参考 腾讯云 API 文档

说明:

此产品优势仅适用于云数据库 MySQL 的高可用版实例。

便宜易用

提供灵活的计费方式

提供包年包月的计费模式,避免一次性投入大量资金建设基础设备。

支持读写分离

MySQL 支持挂载只读实例,支持一主多从架构,轻松应对业务海量请求压力;支持带有负载均衡功能的 RO 组,大幅优化只读实例之间压力分配不均的场景。

强大的硬件提供性能保障

NVMe SSD 的强大 IO 性能保障数据库的读写访问能力。
单实例最大支持24万 QPS,6TB存储空间。

高安全性

DDoS 防护

在用户数据遭到 DDoS 攻击时,能帮助用户抵御各种攻击流量,保证业务的正常运行。

数据库攻击防护

高效防御 SQL 注入、暴力破解等数据库攻击行为。

高可靠性

提供在线的主从两份数据存储,确保线上数据安全。同时通过备份机制保存多天的备份数据,以便于在发生数据库灾难时进行数据恢复。

数据加密

提供透明数据加密 TDE 功能,确保落地数据和备份数据的安全。

数据库审计

提供金融级数据审计功能,实现核心数据防窃取、违规操作可追溯、恶意拉取可定位等需求。

高可用性

实时热备

实时双机热备,根据 binlog 保存可支持5日内无损恢复,提供7日冷备数据 dump。

自动容灾

提供宕机自动检测和故障自动迁移。主备切换和故障迁移过程对用户透明。

相比自建数据库的优势

轻松管理海量数据库

提供命令行和 Web 两种方式管理云数据库,并支持批量数据库的管理、权限设置和 SQL 导入。

数据导入与备份回档

提供多种数据导入途径完成初始化。每日自动备份数据,云数据库根据备份文件提供5天内任意时间点回档。

专业的监控与告警

多维度监控,自定义资源阈值告警,提供慢查询分析报告和 SQL 完整运行报告下载。

多种接入方式

支持外网访问和 VPC 网络,可通过这些接入方式将云数据库与 IDC、私有云或其他计算资源互联,轻松应用于混合云环境。

游戏应用典型场景

游戏应用场景需要弹性扩容和快速回档的业务。

  • MySQL 对计算资源的弹性扩容能力,赋予您更高的生产力,分钟级部署游戏分区数据库。

  • MySQL 任意时间点回档功能及支持批量操作的特性,帮您随时随地恢复到任意时间点,为游戏回档提供支持。

互联网和移动 App 应用典型场景

MySQL 在互联网和移动 App 中作为服务端最终数据落地存储介质,针对行业读多写少的场景,可将热点库增加只读实例,大幅提升读取能力。

金融场景

用于存储和处理金融交易数据、账户数据等,云数据库为您提供安全审计,跨地域容灾,数据强一致的数据库服务,保证您的金融数据安全、高可靠。

电商场景

云数据库 MySQL 高性能特性以及 Redis 快速读写能力,帮您在活动大促时解决访问高峰带来的请求压力,轻松迎接突发业务高峰,稳定应对高并发流量。

腾讯云数据库托管机房分布在全球多个位置,这些位置节点称为地域(Region),每个地域又由多个可用区(Zone)构成。
每个地域(region)都是一个独立的地理区域。每个地域内都有多个相互隔离的位置,称为可用区(zone)。每个可用区都是独立的,但同一地域下的可用区通过低时延的内网链路相连。腾讯云支持用户在不同位置分配云资源,建议用户在设计系统时考虑将资源放置在不同可用区以屏蔽单点故障导致的服务不可用状态。

地域、可用区名称是对机房覆盖范围最直接的体现,为便于客户理解,命名规则如下:

  • 地域命名采取【覆盖范围+机房所在城市】的结构,前半段表示该机房的覆盖能力,后半段表示该机房所在或临近的城市。

  • 可用区命名采取【城市 + 编号】的结构。

地域

腾讯云不同地域之间完全隔离,保证不同地域间最大程度的稳定性和容错性。建议您选择最靠近您客户的地域,可降低访问时延、提高下载速度。用户启动实例、查看实例等动作都是区分地域属性的。
云产品内网通信的注意事项:

  • 即使处于不同可用区,同地域下的云资源之间均通过内网互通,可以直接使用 内网 IP 访问。

  • 不同地域之间的云产品 默认不能通过内网通信

    • 云服务器默认不可跨地域内网互访,默认不可跨地域访问云数据库、云数据库 Memcached。

    • 负载均衡服务绑定服务器时,只能选择绑定本地域的云服务器。


  • 不同地域之间云资源可以通过 公网 IP 进行 Internet 访问。处于私有网络中的云服务也可以通过腾讯云提供的 对等连接 经由腾讯云高速互联网络通信,以获得比 Internet 访问更稳定高速的互联。

  • 负载均衡 不支持跨地域的流量转发。

上述内网互通是均指同一账户下的资源互通,不同账户的资源内网完全隔离。

可用区

可用区(zone)是指腾讯云在同一地域内电力和网络互相独立的物理数据中心。目标是能够保证可用区间故障相互隔离(大型灾害或者大型电力故障除外),不出现故障扩散,使得用户的业务持续在线服务。通过启动独立可用区内的实例,用户可以保护应用程序不受单一位置故障的影响。
用户启动实例时,可以选择指定地域下的任意可用区。当用户需要设计应用系统的高可靠性时(某个实例发生故障时服务保持可用),可以使用跨可用区的部署方案(例如 负载均衡弹性 IP 等),以使另一可用区域中的实例可代为处理相关请求。

地域和可用性列表

地域(region)和可用区(zone)构成:

中国

地域可用区
华南地区(广州)
ap-guangzhou
广州一区(已售罄)
ap-guangzhou-1
广州二区
ap-guangzhou-2
广州三区
ap-guangzhou-3
广州四区
ap-guangzhou-4
华南地区(深圳金融)
ap-shenzhen-fsi
深圳金融一区(仅限金融机构和企业 提交工单 申请开通)
ap-shenzhen-fsi-1
深圳金融二区(仅限金融机构和企业提交工单申请开通)
ap-shenzhen-fsi-2
华东地区(上海)
ap-shanghai
上海一区
ap-shanghai-1
上海二区
ap-shanghai-2
上海三区
ap-shanghai-3
上海四区
ap-shanghai-4
华东地区(上海金融)
ap-shanghai-fsi
上海金融一区(仅限金融机构和企业提交工单申请开通)
ap-shanghai-fsi-1
上海金融二区(仅限金融机构和企业提交工单申请开通)
ap-shanghai-fsi-2
上海金融三区(仅限金融机构和企业提交工单申请开通)
ap-shanghai-fsi-3
华北地区(北京)
ap-beijing
北京一区
ap-beijing-1
北京二区
ap-beijing-2
北京三区
ap-beijing-3
北京四区
ap-beijing-4
北京五区
ap-beijing-5
华北地区(北京金融)
ap-beijing-fsi
北京金融一区(仅限金融机构和企业提交工单申请开通)
ap-beijing-fsi-1
西南地区(成都)
ap-chengdu
成都一区
ap-chengdu-1
成都二区
ap-chengdu-2
西南地区(重庆)
ap-chongqing
重庆一区
ap-chongqing-1
港澳台地区(中国香港)
ap-hongkong
中国香港一区(中国香港节点可用于覆盖港澳台地区)
ap-hongkong-1
中国香港二区(中国香港节点可用于覆盖港澳台地区)
ap-hongkong-2

其他国家和地区

地域可用区
亚太东南(新加坡)
ap-singapore
新加坡一区(新加坡节点可用于覆盖亚太东南地区)
ap-singapore-1
亚太东南(曼谷)
ap-bangkok
曼谷一区 (曼谷节点用户覆盖亚太东南地区)
ap-bangkok-1
亚太南部(孟买)
ap-mumbai
孟买一区(孟买节点可用于覆盖亚太南部地区)
ap-mumbai-1
孟买二区(孟买节点可用于覆盖亚太南部地区)
ap-mumbai-2
亚太东北(首尔)
ap-seoul
首尔一区(首尔节点可用于覆盖亚太东北地区)
ap-seoul-1
亚太东北(东京)
ap-tokyo
东京一区(东京节点可用区覆盖亚太东北地区)
ap-tokyo-1
美国西部(硅谷)
na-siliconvalley
硅谷一区(硅谷节点可用于覆盖美国西部地区)
na-siliconvalley-1
硅谷二区(硅谷节点可用于覆盖美国西部地区)
na-siliconvalley-2
美国东部(弗吉尼亚)
na-ashburn
弗吉尼亚一区 (弗吉尼亚节点用户覆盖美国东部地区)
na-ashburn-1
弗吉尼亚二区 (弗吉尼亚节点用户覆盖美国东部地区)
na-ashburn-2
北美地区(多伦多)
na-toronto
多伦多一区(多伦多节点可用于覆盖北美地区)
na-toronto-1
欧洲地区(法兰克福)
eu-frankfurt
法兰克福一区(法兰克福节点可用于覆盖欧洲地区)
eu-frankfurt-1
欧洲地区(莫斯科)
eu-moscow
莫斯科一区(莫斯科节点可用区覆盖欧洲地区)
eu-moscow-1

如何选择地域和可用区

购买云服务时建议选择最靠近您的地域,可降低访问时延、提高下载速度。

多可用区部署可保护数据库,以防数据库实例发生故障或可用区中断,请参见 地域和可用区
云数据库 MySQL 多可用区部署为数据库实例提供高可用性和故障转移支持。多可用区是在单可用区的级别上,将同一地域的多个单可用区组合成的物理区域。

说明:


  • 无论数据库集群中的实例是否跨多个可用区,每个云数据库 MySQL 均有实时热备的备机保证数据库的高可用性。

  • 在多可用区部署中,云数据库 MySQL 会自动在不同可用区中预置和维护一个同步备用副本。

  • 主数据库实例将跨可用区同步复制到备用副本,以提供数据冗余、消除 I/O 冻结并在系统备份期间将延迟峰值降至最小。

支持地域

云数据库 MySQL 多可用区部署目前支持深圳金融专区、上海地区。

多可用区部署

  1. 登录 云数据库 MySQL 控制台,在【实例列表】,单击【新建】。

  2. 在云数据库选购页【多可用区域】选项,选择【是】。

故障转移

云数据库 MySQL 会自动处理故障转移,因此您可以快速恢复数据库操作而无需管理干预。如果出现如下任一条件,主数据库实例会自动切换到备用副本:

  • 可用区中断。

  • 主数据库实例故障。

云数据库 MySQL 支持三种架构:基础版、高可用版、单节点高 IO 版。暂不支持三种架构的相互切换。

基础版

基础版采用单个节点部署,价格低廉,性价比非常高。特点如下:

  • 计算与存储分离,若计算节点故障,能够通过更换节点达到快速恢复的效果;底层数据采用云盘三副本存储,保证一定的数据可靠性,硬盘故障可通过硬盘快照模式快速恢复。

  • 基础版提供针对数据库连接、访问、资源等多维度20多余项监控,并可配置对应告警策略,相较于云服务器自建,更加省心;同时兼具极大价格优势,相较于云服务器节省40%的成本开销;基础版节点部署在云服务器上,提供数据库性能比用户自建更好。

  • MySQL 基础版底层存储介质使用高性能云盘,适用于90%的 I/O 场景,质优价廉,性能稳定突出;具体 IOPS 计算公式:{min 1500 + 8 * 容量,max 4500}。

架构如下:
Alt text

注意:


  • 基础版不建议用于业务正式环境,适用于个人学习、微型网站、企业非核心小型系统以及大中型企业开发与测试环境。

  • 由于 MySQL 基础版是单节点架构,当该节点出现故障,恢复时长比云服务器故障恢复稍长(涉及实例启动与数据恢复)。建议对高可用有要求的业务,使用 MySQL 高可用版的实例。

高可用版

高可用版采用一主 N 从的高可用模式,实时热备,提供宕机自动检测和故障自动转移。覆盖游戏、互联网、金融、物联网、零售电商、物流、保险、证券等行业应用。
特点如下:

  • 主从复制方式有三种:异步、半同步、强同步。

  • 支持特性齐全,包含只读实例、灾备实例、安全组、数据迁移、多可用区部署等,具体特性请参见 产品优势

  • 高可用版实例可用性能够达到99.95%,具体协议请参见 服务等级协议

  • 数据节点部署在强大硬件之上,底层存储使用本地 NVMe SSD 硬盘,提供强大的 IO 性能。

架构如下:
Alt text

注意:


  • 高可用版默认一主一从异步复制方式,可以通过购买和升级迁移到一主二从强同步模式。

  • 高可用版底层存储使用本地 SSD 硬盘,IOPS 最高可达500000(实际 IOPS 速率与配置、页面大小和业务负载有关,此数值是根据 MySQL 默认16KB分页大小测试所得,仅供参考)。

单节点高 IO 版

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

架构如下:
Alt text

注意:


  • 单节点部署存在单点风险,在只购买一个只读实例情况下,无法保证业务高可用,单个只读实例故障,会导致业务中断而影响客户。

  • 单个只读实例恢复时长受业务数据量大小影响,无法得到保证。因此,建议对可用性有要求的业务 RO 组内至少选购两个只读实例,保证可用性。

功能差异列表

功能点基础版高可用版单节点高 IO 版
版本MySQL 5.7
  • MySQL 5.5

  • MySQL 5.6

  • MySQL 5.7

  • MySQL 5.6

  • MySQL 5.7

节点数1≥ 21
规格配置最高8GB/1T最高488GB/6TB最高488GB/6TB
监控与报警支持支持支持
安全组不支持支持支持
备份不支持支持不支持
回档不支持支持不支持
升级支持支持支持
参数设置支持支持不支持
只读实例不支持支持(仅限于 MySQL 5.6、5.7)支持
灾备实例不支持支持(仅限于 MySQL 5.6、5.7)不支持
数据库审计不支持支持(仅限于 MySQL 5.6、5.7)不支持
数据迁移不支持支持支持

云数据库 MySQL 目前支持以下版本:MySQL 5.7、MySQL 5.6、MySQL 5.5,各个版本相关特性,请参见 官方文档。MySQL 官方服务生命周期支持策略如下:

ReleaseGA DatePremier Support EndExtended Support EndSustaining Support End
MySQL Database 5.0Oct-05Dec-11Not AvailableIndefinite
MySQL Database 5.1Dec-08Dec-13Not AvailableIndefinite
MySQL Database 5.5Dec-10Dec-15Dec-18Indefinite
MySQL Database 5.6Feb-13Feb-18Feb-21Indefinite
MySQL Database 5.7Oct-15Oct-20Oct-23Indefinite
MySQL Database 8.0Apr-18Apr-23Apr-26Indefinite

说明:


  • MySQL 5.5 官方延长服务截止至2018年12月,过期后没有明确的服务支持说明,可能问题修复周期较长,强烈建议您使用更高版本的 MySQL。

  • MySQL 5.6 及其以上版本不再支持 MyISAM 存储引擎,建议您使用性能更好、更稳定的 InnoDB 引擎。

  • 目前 MySQL 5.6、5.7 版本支持三种复制方式:异步、半同步、强同步;5.5 版本支持异步方式。

存储引擎是指表的类型,数据库的存储引擎决定了表在计算机中的存储方式。虽然 MySQL 数据库支持功能不同的多种存储引擎,但并非所有引擎都为恢复和数据耐久性而进行了优化。时间点还原和快照还原等腾讯云数据库 MySQL 功能需要可恢复的存储引擎,并且只有 InnoDB 存储引擎支持这些功能。

腾讯云数据库 MySQL 默认支持 InnoDB 存储引擎,并在 MySQL 5.6 及以上的版本中,不再支持 MyISAM 存储引擎。主要原因如下:

  • 在目前的 MySQL 版本中,TencentDB 对 InnoDB 做了很多内核优化,已经具有明显的性能优势。

  • MyISAM 采用的是表级锁机制,而 InnoDB 是行级锁机制,通常情况下 InnoDB 具有更高的写入效率。

    说明:


    • 表级锁是 MySQL 中锁定粒度最大的一种锁,表示对当前操作的整张表加锁。

    • 行级锁是 MySQL 中锁定粒度最细的一种锁,表示只针对当前操作的行进行加锁。


  • MyISAM 对数据完整性的保护存在缺陷,且这些缺陷会导致数据库数据的损坏甚至丢失。另外,这些缺陷很多是设计问题,无法在不破坏兼容性的前提下修复。

  • MyISAM 向 InnoDB 的迁移代价低,大多数应用仅需要改动建表的代码即可完成迁移。

  • MyISAM 的发展在向 InnoDB 转移,在最新的官方 MySQL 8.0 版本中,系统表均已采用 InnoDB。

更多信息请参见 InnoDB 简介MyISAM 简介

数据库实例是在腾讯云中独立运行的数据库环境。一个数据库实例可以包含多个由用户创建的数据库,并且可以使用与访问独立数据库实例相同的工具和应用程序进行访问。

腾讯云数据库 MySQL 有如下三种数据库实例:

实例类型定义架构实例列表是否可见功能
主实例可读可写的实例
  • 基础版

  • 高可用版

主实例可挂载只读实例与灾备实例,实现读写分离与异地灾备功能
只读实例仅提供读功能的实例单节点高 IO 版只读实例无法单独存在,必须隶属于某个主实例,唯一数据来源是从主实例同步数据,只能与主实例同地域
灾备实例提供跨可用区、跨地域灾备能力的实例高可用版灾备实例在同步时仅可读,灾备实例可主动与主实例断开同步关系,主动提升为主实例,即可提供读写访问能力,必须与主实例异地

数据库实例复制是指通过为服务器配置一个或多个备份数据库的方式来进行数据同步,将 MySQL 的数据分布到多个系统上去。云数据库 MySQL 支持三种数据复制方式:

说明:

Master 是指主数据库实例,Slave 是指备份数据库实例。

异步复制

应用发起数据更新(含 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 上操作的问题,提高了强同步复制集群的可用性。


微信图片_20190905110212.jpg


1.png2.png 3.png 4.png 5.png 1.png



7.png

如何修改云数据库 MySQL 的配置参数?

  • 云数据库 MySQL 控制台方式
    云数据库 MySQL 控制台,单击实例名称进入管理页,选择【数据库管理】>【参数设置】,其中常见的 var_name 包括如下变量:

    变量说明
    character_set_server服务器默认字符集
    connect_timeout连接超时
    long_query_time超过该时间的查询为慢查询
    max_allowed_packet最大包长度
    max_connections最大连接数
    sql_mode当前的服务器 SQL 模式
    table_open_cache全部线程打开表的个数,增大该值可以增加 mysqld 被请求打开的文件描述符个数
    wait_timeout非交互连接超时时间
  • phpMyAdmin 控制台方式
    通过 phpMyAdmin 登录云数据库 MySQL 后,单击上方菜单中的【变量】,在下面的变量列表中,单击需要修改的变量对应的【编辑】,对其进行修改后单击【保存】。

更多配置参数可在控制台的【数据库管理】>【参数设置】页查看。

云数据库 MySQL 怎么设置中文查询?

云数据库 MySQL 目前不支持中文字符。

如何设置开启云数据库 MySQL 的定时器功能?

在云数据库 MySQL 控制台,单击实例名称进入管理页,选择【数据库管理】>【参数设置】页,在参数设置中将 event_scheduler 参数设置为 ON。

云数据库 MySQL 超时连接设置太短,如何增加时间?

在云数据库 MySQL 控制台,单击实例名称进入管理页,选择【数据库管理】>【参数设置】页,在参数设置中修改 wait_timeout 参数。

云数据库 MySQL 如何调整 group_concat_max_len 参数?

在云数据库 MySQL 控制台,单击实例名称进入管理页,选择【数据库管理】>【参数设置】页,在参数设置中修改 group_concat_max_len 参数。

云数据库 MySQL 全表扫描的 SQL 语句有什么方法可以找到吗?

默认是不记录全表扫描的语句,可在云数据库 MySQL 控制台【参数设置】中将 log_queries_not_using_indexes 参数设置为 ON,注意不要开太久。

云数据库的默认字符集编码如何修改?

云数据库与 MySQL 数据库一样,默认字符集编码格式是:latin1,即 ISO-8859-1 编码格式,开发者可以在云数据库控制台修改 Server 端的数据库字符集,目前支持 latin1、gbk、utf8、utf8mb4 四种字符集设置。
虽然云数据库支持默认字符集编码的设置,但我们还是建议您在创建表时,显式的指定表的编码,并在连接建立时指定连接的编码,这样,您的应用将会有更好的移植性,MySQL 默认字符集说明以及修改方法请参见 使用限制。可通过云数据库控制台修改字符集。

云数据库 MySQL 回档时是否会把当前表数据覆盖?

回档操作会产生新的数据库或表至原实例中。回档完后,您可以看到原来的数据库或表,以及新建的数据库或表。回档后的库表名是原库表名 _bak。

云数据库 MySQL 误删了数据如何恢复?

可通过回档恢复数据。MySQL 支持回档到备份周期内的任意时间点,请参见 数据回档

云数据库 MySQL 执行某个存储过程中误删了部分未备份的数据,能否还原数据?

可以使用控制台的回档功能,恢复备份周期内任意时间点的数据 。

云数据库 MySQL 回档过程中,如何实时查询回档进度和日志?

回档过程中,可实时查询回档的进度和日志,请参见 数据回档

备份商业化后会有哪些服务提升?

说明:

下表列出的数值是单个腾讯云账户下同一地域内支持的各项最大值。

提升点收费前收费后
数据备份保留时间30732
日志备份保留时间5732
备份压缩率一般压缩率极高压缩率
binlog 中心化本地存储中心化存储

收费后如何有效减少备份开销?

  • 删除不再使用的手动备份数据。 (手动备份可在控制台进行删除)

  • 降低非核心业务的数据自动备份频率。 (可以调整每周备份的天数,一周至少备份2天)

  • 缩短非核心业务的数据备份和日志备份保存时间。(备份保留时间为7天已经能满足大多数场景需要)

业务场景备份保留时间
核心业务建议7天 - 732天
非核心、非数据类业务建议7天
归档业务建议数据备份保留时间设置为7天,根据实际业务需求手动备份数据,用完及时删除
测试业务建议数据备份保留时间设置为7天,根据实际业务需求手动备份数据,用完及时删除

为什么无法进行分库表的逻辑备份和下载?

备份新版 升级后,不论是逻辑备份还是物理备份功能都采用了新的压缩算法,故部分下载功能暂时无法使用。您可以通过手动备份里的【逻辑备份】>【指定库表】功能完成分库表的逻辑备份,同时也可以下载已完成的该次备份。

为什么会备份失败?

单个实例的表数量超过100万后,可能会造成备份失败,同时也会影响数据库监控,请合理规范表的数量,控制单个实例表数量不超过100万。

云数据库 MySQL 的数据和日志备份是否可以关闭?

不可以关闭。

  • 数据备份保留天数最少7天,最多732天。后续备份收费后会开通减少备份频率的设置,可以通过减少备份频率来降低备份空间的占用量。

  • 日志备份保留天数最少7天,最多732天。且必须小于等于数据备份天数。

    说明:

    目前备份空间全部免费使用,后续收费会另行通知。请合理设计备份周期、合理使用备份空间,避免后续收费后造成额外的费用。


为什么下载的备份文件用 tar 解包解压失败?

说明:

新版的备份文件由于采用的全新压缩算法,使用原有 tar 工具无法正常解包解压,需要使用 xbstream 和 qpress 工具解包解压。

  1. 下载新版的备份文件后,应该先用 xbstream (xbstream 为 Percona 的一种打包/解包工具)将其解包:

    xbstream -x < test_import_57_backup_20181114115236.xb 
    用 xbstream 解包后会得到后缀名为 .qb 的文件,如:test_import_57_backup_20181114115236.sql.qb


  2. 解包后还需要使用 qpress 解压备份文件:

    qpress-dtest_import_57_backup_20181114115236.sql.qp
    解压后得到完整的备份文件,如:test_import_57_backup_20181114115236.sql


如何下载 xbstream 和 qpress 的工具?

  • xbstream 为 Percona 的 xtrabackup 备份工具下的一个子程序,要使用 xbstream,需要先安装 Percona 的 xtrabackup,可以使用 yum 安装和二进制安装两种方式来安装 xtrabackup。

  • qpress下载地址,下载之后通过 tar 命令解出 qpress 二进制文件。
    具体 xtrabackup 和 qpress 的安装方式请参见 使用物理备份恢复数据库

如何自己手动设置 MySQL 备份?

您可以通过离线迁移到本地来备份 MySQL 数据,请参见 离线迁移数据

开发者自己如何备份数据?

云数据库 MySQL 实例每天会进行全量备份,开发者也可以采用云数据库提供的多线程快速导入导出工具进行备份,请参见 备份方式,或者通过 mysqldump 工具自己备份数据。

MySQL 如何查看 binlog 日志?

  • 控制台下载 binlog 到本地,例如下载到云服务器。

  • 使用 mysqlbinlog 命令查看。MySQL 5.6 需要安装3.4或以上版本的 mysqlbinlog 方支持本地服务器查看 binlog。

配置 MySQL 同城双备,能够实现两个实例实时数据同步吗?

可通过云数据库 MySQL 控制台购买 灾备实例 来实现此需求。

云数据库 MySQL 只读实例能否外网连接?

只读实例支持外网连接和内网连接。

云数据库 MySQL 主实例和灾备实例间数据同步频率?

开启同步,完成初始同步后,后续主实例和灾备实例间数据实时同步。

云数据库 MySQL 不允许添加临时实例吗?

目前暂不支持添加临时实例。

为什么升级实例会失败?

单个实例的表数量超过100万后,可能会造成升级失败,同时也会影响数据库监控,请合理规范表的数量,控制单个实例表数量不超过100万。

云数据库 MySQL 执行任务时,为什么会卡死?

是并发操作导致的锁等待,属于正常现象。

为什么查看云数据库 MySQL 中的中文数据时出现乱码?

您将数据存储到云数据库中时,请登录 MySQL 控制台 进入实例详情页查看该实例的默认字符集。在编写程序时,将 character_set_clientcharacter_set_resultscharacter_set_connection 设置为和云数据库实例相同的字符集。否则,如果存储的数据中有中文,会出现中文数据乱码现象。
例如:云数据库实例的默认字符集为 utf8,在编写程序连接数据库时,需要先执行以下语句,再将中文数据存储到云数据库。

SETNAMES'utf8';

云数据库 MySQL 连接数占用满了的常见原因和解决方法?

  • sleep 线程数很多,建议在控制台调低 wait_timeout 和 interactive_timeout 参数值。

  • 慢查询堆积,long_query_time 参数值默认10s,建议调成1s - 2s,观察慢查询日志。

  • sleep 线程数很少,也没有慢查询堆积,建议在控制台调大 max_connections 参数值。

云数据库 MySQL CPU 占比过高的常见原因和解决方法?

  • 慢查询堆积,请查看实例监控上的慢查询和全表扫描,结合慢查询日志(控制台可下载)进行分析优化,若监控上没有慢查询只有全表扫描,建议在控制台将 long_query_time 调小至1s - 2s,使用一段时间后再分析慢查询。

  • 没有慢查询堆积,请查看实例监控上的内存占用,若超出实例规格很多,并且磁盘读写量明显增大,表明内存遇到瓶颈,建议升级内存。

云数据库 MySQL 的内存是重要的性能参数,常出现由异常 SQL 请求以及待优化的数据库导致的内存利用率升高的情况,严重时还会出现由于 OOM 导致实例发生 HA 切换,影响业务的稳定及可用性。

MySQL 的内存大体可以分为 global 级的共享内存和 session 级的私有内存两部分,共享内存是实例创建时即分配的内存空间,并且是所有连接共享的。私有内存用于每个连接到 MySQL 服务器时才分配各自的缓存,一些特殊的 SQL 或字段类型会导致单个线程可能分配多次缓存,因此当出现 OOM 异常,都是由各个连接私有内存造成的。下面将详细介绍各部分的构成。

共享内存

执行以下命令,查询示例的共享内存分配情况:

showvariableswhere variable_name in ('innodb_buffer_pool_size','innodb_log_buffer_size','innodb_additional_mem_pool_size','key_buffer_size','query_cache_size');
说明:

5.7版本不支持 innodb_additional_mem_pool_size。

以下参数是内存规格为1000MB实例的共享内存分配情况的查询结果(以下为测试实例配置):

1.   +---------------------------------+-----------+2.   | Variable_name                   | Value     |3.   +---------------------------------+-----------+4.   | innodb_additional_mem_pool_size | 8388608   |5.   | innodb_buffer_pool_size         | 524288000 |6.   | innodb_log_buffer_size          | 67108864   |7.   | key_buffer_size                 | 16777216   |9.   | query_cache_size                | 0         |10. +---------------------------------+-----------+11. 5 rows in set (0.01 sec)

参数说明

  • innodb_buffer_pool_size
    该部分缓存是 Innodb 引擎最重要的缓存区域,是通过内存来弥补物理数据文件的重要手段,在云数据库 MySQL 上会采用实例规格配置的50% - 80%作为该部分大小(上图为1000MB * 0.5 = 500MB)。其中主要包含数据页、索引页、undo 页、insert buffer、自适应哈希索引、锁信息以及数据字典等信息。在进行 SQL 读和写的操作时,首先并不是对物理数据文件操作,而是先对 buffer_pool 进行操作,再通过 checkpoint 等机制写回数据文件。该空间的优点是可以提升数据库的性能、加快 SQL 运行速度,缺点是故障恢复速度较慢。

  • innodb_log_buffer_size
    该部分主要存放 redo log 的信息,在云数据库 MySQL 上会设置64MB的大小。InnoDB 会首先将 redo log 写在这里,然后按照一定频率将其刷新回重做日志文件中。该空间不需要太大,因为一般情况下该部分缓存会以较快频率刷新至 redo log(Master Thread 会每秒刷新、事务提交时会刷新、其空间少于1/2时同样会刷新)。

  • innodb_additional_mem_pool_size
    该部分主要存放 InnoDB 内的一些数据结构,在云数据库 MySQL 中统一设置为8MB。通常是在 buffer_pool 中申请内存的时候还需要在额外内存中申请空间存储该对象的结构信息。该大小主要与表数量有关,表数量越大需要更大的空间。

  • key_buffer_size
    该部分是 MyISAM 表的重要缓存区域,所有实例统一为16M。该部分主要存放 MyISAM 表的键。MyISAM 表不同于 InnoDB 表,其缓存的索引缓存是放在 key_buffer 中的,而数据缓存则存储于操作系统的内存中。云数据库 MySQL 的系统是 MyISAM 引擎的,因此需给予该部分一定量的空间的。

  • query_cache_size
    该部分是对查询结果做缓存,以减少解析 SQL 和执行 SQL 的开销,在云数据库 MySQL 上关闭了该部分的缓存。主要适合于读多写少的应用场景,因为它是按照 SQL 语句的 hash 值进行缓存的,当表数据发生变化后即失效。

私有内存

执行以下命令,查询示例的 session 私有内存分配情况:

showvariableswhere variable_name in ('read_buffer_size','read_rnd_buffer_size','sort_buffer_size','join_buffer_size','binlog_cache_size','tmp_table_size');

查询结果如下(以下为测试实例配置):

1.   +----------------------+-----------+    2.   | Variable_name        | Value     |    3. +----------------------+-----------+    4.   | binlog_cache_size    | 32768     |5.   | join_buffer_size     |262144|    6.   | read_buffer_size     | 262144    |7.   | read_rnd_buffer_size |524288|    8.   | sort_buffer_size     | 524288    |9.   | tmp_table_size       |209715200|    10.   +----------------------+-----------+    11.   6 rows in set (0.00 sec)

参数说明:

  • read_buffer_size
    分别存放了对顺序扫描的缓存,当 thread 进行顺序扫描数据时会首先扫描该 buffer 空间以避免更多的物理读。

  • read_rnd_buffer_size
    分别存放了对随机扫描的缓存,当 thread 进行随机扫描数据时会首先扫描该 buffer 空间以避免更多的物理读。

  • sort_buffer_size
    需要执行 order by 和 group by 的 SQL 都会分配 sort_buffer,用于存储排序的中间结果。在排序过程中,若存储量大于 sort_buffer_size,则会在磁盘生成临时表以完成操作。

  • join_buffer_size
    MySQL 仅支持 nest loop 的 join 算法,处理逻辑是驱动表的一行和非驱动表联合查找,这时就可以将非驱动表放入 join_buffer,不需要访问拥有并发保护机制的 buffer_pool。

  • binlog_cache_size
    该区域用来缓存该 thread 的 binlog 日志,在一个事务还没有 commit 之前会先将其日志存储于 binlog_cache 中,等到事务 commit 后会将其 binlog 刷回磁盘上的 binlog 文件以持久化。

  • tmp_table_size
    不同于上面各个 session 级的 buffer,这个参数可以在控制台上修改。该参数是指用户内存临时表的大小,如果该 thread 创建的临时表超过它设置的大小会把临时表转换为磁盘上的一张 MyISAM 临时表。

CPU 利用率过高

原因

在 MySQL 使用过程中,出现 CPU 利用率过高甚至超过100%时,与数据库存在低效 SQL 或大量行锁冲突有非常大的关系,一般都是由于大量低效的 SQL 导致,出现行锁冲突的概率非常低。

风险

若 MySQL CPU 的利用率长时间处于100%,会严重影响数据库的整体性能,极端情况下可能会出现实例 HANG 住的情况,当 HA 探测到实例 HANG 住后,为了保证用户业务的高可用性,会触发主备切换,在主备切换的过程中,业务会出现短时间的不可用,实例不可用的时长正常情况下不超过60秒。如在业务高峰期发生了主备切换,会严重影响业务的稳定和连续性。
为避免业务因 CPU 资源不足而受影响,建议提前对 CPU 利用率过高的实例进行业务优化或者升级 CPU 资源。实例发生主备切换时会出现秒级的闪断,对于长连接需要应用具备重连的机制。

解决方案

MySQL CPU 利用率过高,大部分原因与低效 SQL 有关系,通过优化低效 SQL 基本可以解决大部分问题。
MySQL 慢查询时间(long_query_time)的默认值是10s,在遇到性能问题时,若发现没有慢查询,建议将其参数调成1s ,再观察业务周期内的慢查询,进而对其慢查询进行优化。若参数调整后,在其业务周期内依然未发现慢查询,而 CPU 利用率依然偏高,建议升级 CPU 的配置,进而提高数据库的整体性能。

内存利用率过高

原因

云数据库 MySQL 的内存是重要的性能参数,常出现由于低效 SQL 请求以及待优化的数据库导致内存利用率过高甚至超过100%的情况。

风险

由于低效 SQL 请求以及待优化的数据库导致内存利用率升高的问题时,若您使用的是 MySQL 高可用版数据库,严重时还会触发内存 OOM 进而发生主备切换,主备切换过程中会导致业务短时间不可用,实例不可用的时长正常情况下不超过60秒。如在业务高峰期发生了主备切换,会严重影响业务的稳定和连续性。
为避免业务因内存利用率过高而受影响,建议您提前对内存利用率过高的实例进行业务优化或者升级内存空间。实例发生主备切换时会出现秒级的闪断,对于长连接需要应用具备重连的机制。

解决方案

MySQL 的内存大体可以分为 global 级的共享内存和 session 级的私有内存两部分:

  • 共享内存是实例创建时即分配的内存空间,并且是所有连接共享的。

  • 私有内存用于每个连接到 MySQL 服务器时才分配各自的缓存。
    一些特殊的 SQL 或字段类型会导致单个线程可能分配多次缓存,因此当出现 OOM 异常,都是由各个连接的私有内存造成的,通过限制数据库的连接数和优化低效 SQL,可降低内存利用率过高的风险,若 MySQL 的内存利用率依然过高,可通过升级内存配置来提升数据库的整体并发量和稳定性。详细的内存参数介绍,请参见 内存分配问题

说明:


  • 升级过程中不影响业务的正常使用,升级完成后会进行切换,仅有秒级别的闪断,请确保业务具备重连机制。

  • 目前 MySQL 控制台暂不支持内存参数的修改,若将 innodb_buffer_pool_size 设置过小,可能会导致磁盘写负载过高,进而影响数据库的整体性能。

  • 避免因 MySQL 内存或 CPU 资源不足而影响业务的正常运行,请为现网实例配置资源的合理告警策略,可提前发现资源不足的隐患,详情请参见 告警服务

同步延迟影响

云数据库 MySQL 对应的默认备库、灾备实例、只读实例均采用 MySQL 原生 binlog 复制技术,当数据复制方式为异步复制或半同步复制时,都有可能发生延迟。

  • 备库 存在延迟,会导致主备实例无法在短时间内完成切换,进而影响业务无法在短时间内恢复正常。

  • 灾备实例 存在延迟,在堆积的 binlog 未应用完之前,灾备实例将无法顺利升级为主实例,在此期间业务的连续性会因此受到影响。

  • 若读业务对数据一致性有较高要求,只读组 可以设置延迟剔除策略,当只读实例与主实例延迟时间超过阈值,对应的只读实例会被自动剔除,从而导致读业务无法正常访问只读实例。

同步延迟解决方案

通过 监控功能 可查看【主从延迟时间】,若主从延迟时间大于0表示其实例存在数据延迟。常见原因如下:

无主键或二级索引

原因
若 binlog 为 row 格式且表无主键或二级索引,当对大表进行 DML 操作(例如 delete、update、insert),在从库进行 binlog 日志应用时,会根据主键或者二级索引来检索需要更改的行,如对应表未创建主键或者二级索引,会产生大量的全表扫描进而降低了日志应用速度,从而产生数据延迟。

解决方案

  • 为所有表创建主键,若表无法创建主键,建议选择基数高的列创建二级索引。

  • 建议采用 truncate 命令删除表所有记录。

大事务

原因
当主实例执行大数据量的 DML 操作,大量的 binlog 日志传送到从库时,从库需要花费与主实例相同的时间来完成相应事务,进而导致从库出现数据延迟。

解决方案
建议将大事务拆分为小事务,通过 where 条件限制每次要处理的数据量,有助于从库迅速完成事务的执行,从而避免出现从库数据的延迟。

DDL 操作

原因
与大事务原理类似,若 DDL 操作在主实例的执行时间很长,在从库也会花费相同甚至更长时间来执行该操作,从而阻塞了 DDL 操作。

解决方案
建议在业务低峰期执行 DDL 操作。若因灾备实例、只读实例的查询业务而阻塞了 DDL 操作,建议直接 KILL 掉引起阻塞的会话来恢复主从数据的同步。

实例规格过小

原因
只读实例、灾备实例的规格小于主实例且负载较高,会导致只读实例、灾备实例的数据延迟。

解决方案
建议只读实例、灾备实例规格大于等于主实例,如果只读实例、灾备实例承载了大量的分析类业务导致实例负载过高,需将其实例规格升级至合适的配置或者对其性能低效的 SQL 进行优化。

云数据库 MySQL 使用 pt-online-schema-change 问题

云数据库 MySQL 5.6 版本开始支持 Online DDL。5.5版本做表结构变更时,为了避免锁表导致的业务影响,仍然建议用户使用 pt-online-schema-change 等开源工具完成该类操作,但不少用户通过 CVM 使用 pt-online-schema-change 对 MySQL 表结构变更时,遇到问题。

  • 常见报错信息:
    Use of uninitialized value $host in string eq at /usr/local/percona-toolkit-3.0.3/bin/pt-online-schema-change line 4284.

  • 查看对应的源码:

    sub _find_slaves_by_processlist{ my ( $self, $dsn_parser, $dbh, $dsn ) = @_; my @slaves = map   {    my $slave        = $dsn_parser->parse("h=$_", $dsn);    $slave->{source} = 'processlist';    $slave; } grep { $_ } map   {    my ( $host ) = $_->{host} =~ m/^([^:]+):/;    if ( $host eq 'localhost' ) {       $host = '127.0.0.1'; # Replication never uses sockets.    }    $host; } $self->get_connected_slaves($dbh); return @slaves;}

    从代码上看是在通过 processlist 的方式寻找 slave 的信息,由于 TencentDB 对复制账号相关的信息做过处理,导致通过 processlist 拿不到 slave 的信息。

  • 修复方式:
    使用 pt-osc 的时候加上如下参数,不去检查 slave 的状态。
    --recursion-method=none

TencentDB 导入数据报错 Specified key was too long

报错原因
客户通过 CVM 的命令行向 MySQL 导入 XXXX.sql 文件时,MySQL 返回 Specified key was too long 的报错。
报错信息 “ERROR 1071 (42000): Specified key was too long; max key length is 767 bytes”,其意思是“索引字段长度太长,超过了767bytes”。

  • innodb 存储引擎,多列索引的长度限制如下:
    每个列的长度不能大于767bytes,所有组成索引列的长度和不能大于3072bytes。

  • myisam 存储引擎,多列索引的长度限制如下:
    每个列的长度不能大于1000bytes,所有组成索引列的长度和不能大于1000bytes。

    说明:

    768 / 2 = 384个双字节或者767 / 3 = 255个三字节的字段(GBK 是双字节的、UTF8 是三字节的、UTF8MB4 是四字节的)


MySQL 5.6 及其以上版本,所有 myisam 表都会被自动转换为 innodb,所以在自建数据库上有超过767bytes的组合索引列,但是由于在自建库上 myisam 存储引擎,同样的建表语句在自建库上运行没问题,但是在 MySQL 5.6 版本以上就会有问题。

解决方案:

  1. 修改备份文件中出错行组合索引列的长度。
    常见:
    create table test(test varcahr(255) primary key)charset=utf8;
    -- 成功
    create table test(test varcahr(256) primary key)charset=utf8;
    -- 失败
    ERROR 1071(42000):Specified key was too long; max key length is 767 bytes

  2. 使用 TencentDB 5.5 版本,myisam 引擎不会被自动转换为 innodb。

select * from XX into outfile xxxx 报错是什么原因呢?

由于平台安全性原因,不支持开通 file 权限,不支持使用 select into outfile 方式导出数据 ,建议您使用其他方式导出。

MySQL 数据库插入 emoji 表情乱码怎么办?

需排查 MySQL 实例内部、客户端、到 MySQL 实例的连接3个方面,是否未统一使用或者支持 utf8mb4 字符集。
要实现存储 emoji 表情到 MySQL 实例,需要 MySQL 实例内部、客户端、到 MySQL 实例的连接3个方面统一使用或者支持 utf8mb4 字符集。

  1. 首先需要 MySQL 实例设置字符集为 utf8mb4。可以通过登录控制台修改character_set_server参数。

    注意:

    修改此参数会使数据库重启,建议您提前备份数据库,避免出现不必要的损失。


  2. 用户的程序客户端需要保证输出的字符串的字符集为 utf8mb4。

  3. 应用程序创建连接是需要指定执行字符集,以常见的 jdbc 连接为例:
    对于jdbc连接,需要使用 MySQL Connector/J 5.1.13(含)以上的版本,示例代码如下:

    String query = “setnames utf8mb4”; stat.execute(query);


常见参数修改以及意义

云数据库 MySQL 已在官方的默认值基础上进行了优化,但基于客户不同的业务场景,在购买实例后,根据您的业务场景建议对以下参数进行合理的配置:

character_set_server

  • 默认值:LATIN1

  • 是否需要重启:是

  • 作用:用于配置 MySQL 服务器的默认字符集。云数据库 MySQL 提供4种字符集,分别为 LATIN1、UTF8、GBK、UTF8MB4,其中 LATIN1 支持英文字符,一个字符占用一个字节;UTF8 包含全世界所有国家需要用到的字符,是国际编码,通用性强,一个字符占用三个字节;GBK 的文字编码是用双字节来表示的,即不论中、英文字符均使用双字节来表示;UTF8MB4 作为 UTF8 的超集,完全向下兼容,一个字符占用四个字节,且支持 emoji 表情。

  • 建议:购买实例后,根据业务所需要支持的数据格式选择适合的字符集,确保客户端与服务器端设置相同的字符集,避免因字符集设置不正确而引发乱码的问题和不必要的重启操作。

lower_case_table_names

  • 默认值:0

  • 是否需要重启:是

  • 作用:创建数据库及表时,存储与查询时是否大小写敏感。该参数可以设置的值为0、1,默认的参数值为0,表示创建数据库及表时,存储与查询均区分大小写,反之则不做区分。

  • 建议:数据库 MySQL 默认大小写敏感,请根据您的业务需求及使用习惯进行合理的配置。

sql_mode

  • 默认值:

    NO_ENGINE_SUBSTITUTION(5.6版本),ONLY_FULL_GROUP_BYSTRICT_TRANS_TABLESNO_ZERO_IN_DATENO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERONO_AUTO_CREATE_USERNO_ENGINE_SUBSTITUTION(5.7版本)


  • 是否需要重启:否

  • 作用:MySQL 可以运行在不同 sql 模式,sql 模式定义了 mysql 应该支持的 sql 语法、数据校验等。
    该参数5.6版本的默认参数值为NO_ENGINE_SUBSTITUTION,表示使用的存储引擎被禁用或未编译则抛出错误;5.7版本的默认参数值为ONLY_FULL_GROUP_BY、STRICT_TRANS_TABLES、NO_ZERO_IN_DATE、NO_ZERO_DATE、ERROR_FOR_DIVISION_BY_ZERO、NO_AUTO_CREATE_USER、NO_ENGINE_SUBSTITUTION
    其中:

    • ONLY_FULL_GROUP_BY表示在 GROUP BY 聚合操作时,如果在 SELECT 中的列、HAVING 或者 ORDER BY 子句的列,必须是 GROUP BY 中出现或者依赖于 GROUP BY 列的函数列。

    • STRICT_TRANS_TABLES为启用严格模式;NO_ZERO_IN_DATE 是否允许日期中的月份和日包含 0,且受是否开启严格模式的影响。

    • NO_ZERO_DATE数据库不允许插入零日期,且受是否开启严格模式的影响。

    • ERROR_FOR_DIVISION_BY_ZERO在严格模式下,INSERT 或 UPDATE 过程中,如果数据被零除,则产生错误而非警告,而非严格模式下,数据被零除时 MySQL 返回 NULL。

    • NO_AUTO_CREATE_USER禁止 GRANT 创建密码为空的用户。

    • NO_ENGINE_SUBSTITUTION使用的存储引擎被禁用或者未编译则抛出错误。


  • 建议:由于不同的 SQL 模式支持不同的 SQL 语法,建议根据您的业务场景及开发习惯进行合理的配置。

long_query_time

  • 默认值:10

  • 是否需要重启:否

  • 作用:用于指定慢查询的界定时间,默认值为10s。当某个查询执行时间为10s及以上,该查询的执行情况会记录于慢日志中,便于过后对慢查询进行分析。

  • 建议:基于客户业务场景及性能敏感度不同,建议根据各自业务场景设置合理的值,以便事后进行性能分析。

使用云数据库 MySQL 前要做什么准备?

在使用云数据库 MySQL 前您需要考虑以下两个问题:

  • 您的应用是否适合使用数据库?例如,数据量小、访问量高、key-value 存储的场景就应该考虑使用内存级持久化存储服务 云数据库 Memcached

  • 您的数据库设计是否合理?例如,有明显访问热点或者数据量过大的表,则应该考虑拆分成多个表。

云数据库 MySQL 如何对 MySQL 进行管理?

开发者不需要对 MySQL 进行日常管理,日常的维护和调整由云数据库运维系统完成。
当 MySQL 出现异常时,运维系统会及时发现并通知运维人员处理,开发者不需要做任何变更操作。

云数据库 MySQL 后面是否是物理机?

云数据库 MySQL 后面是物理机。

云数据库 MySQL 会帮我做分库分表吗?

因为分库分表的标准和业务逻辑相关,所以云数据库 MySQL 不会帮业务做分库分表。

云数据库 MySQL 占用空间与使用空间的区别是什么?

目前云数据库 MySQL 用户实际使用空间与 binlog 等日志数据已分开统计,开发者在云数据库控制台看到的占用空间即等于使用空间。

云数据库 MySQL 执行任务是否有缓冲?

问题描述:
在很短的时间,送入了 N 条 SQL 语句给云数据库执行,此时云数据库 MySQL 会逐条执行,还是卡死?如果会卡死,那么同时的连接并发数限制是多少?
问题解答:
云数据库 MySQL 提供的 MySQL 实例与平时我们自己安装的 MySQL 实例是一样的。并发执行的语句是否会卡死跟系统资源和 SQL 语句本身有关。
如果连接数 max_connections 到达极限值,那么该实例基本上已经无法正常提供服务,一般是由以下原因造成的:

  • 业务程序 bug 导致的空连接过多;

  • 前端过来的访问远远超出实例的处理能力;

  • 某个连接执行了太久,独占了 MySQL 的资源,导致大量的访问请求被阻塞。

使用云数据库 MySQL 的注意事项?

注意事项请参见 使用限制

如何申请开放或关闭云数据库 MySQL 默认备库只读权限?

默认备库不对外提供访问,主要用于高可用切换。

云数据库 MySQL 是否支持从库访问?

为了数据库的安全,例如当主实例出现问题时,能快速切换到从库,所以目前不支持对从库进行读写;
若希望扩展读写能力,可以考虑升级实例配置或购买 只读实例

如何更换云数据库 MySQL 的地域?

暂不支持更换地域,您可以使用 数据传输服务 DTS 来实现两地实例间数据迁移,DTS 支持实时数据同步。数据迁移完毕后,自助退换源实例即可。

云数据库 MySQL 实例销毁了怎么办?

实例销毁后会保留在回收站一段时间,包年包月实例会保留7天,按量计费实例保留1天;在此时间段内,可在回收站内找到对应实例,然后进行恢复操作即可找回。

帐号误删与忘记密码怎么办?

  • 若误删帐号,可通过实例管理页中【数据库管理】>【帐号管理】>【创建帐号】或使用 sql 语句进行新建。

  • 若忘记 root 密码,可通过【数据库管理】>【帐号管理】找到对应帐号进行【重置密码】操作。
    以上操作也可以通过 云 API 接口 实现。

需要使用 MyISAM 数据库引擎怎么办?

可以使用 MySQL 5.5 版本,此版本支持 MyISAM 引擎。但建议使用更高版本,如 MySQL 5.7 等,使用 InnoDB 引擎,提供更细粒度行级锁,写入性能更高,提供数据完整性保障,可实现数据库故障后数据不丢失。

云数据库 MySQL 支持跨地域访问吗?

默认 VPC 网络下不支持跨地域访问的,各地域间 VPC 网络相互隔离。建议购买与云服务器同地域的云数据库 MySQL 实例,数据就近访问,提供业务服务速率及稳定性。

如何把本地的 SQL 文件导入到 MySQL 数据库?

登录 云数据库 MySQL 控制台,单击实例名进入管理页,选择【数据库管理】>【数据库列表】>【数据导入】,选择导入文件,接下来选择目标数据库,最后确定导入。

说明:

导入的单个 SQL 文件不超过2GB,文件名仅允许英文、数字、下划线。

如何导出数据库数据?

  • 如果需要导出冷备数据,可在控制台实例管理页的【备份恢复】下载。

  • 如果需要导出实时数据,可以购买只读实例,通过只读实例 mysqldump 获取。

原数据库大概7GB,哪种方式最快迁移至腾讯云购买的 MySQL 数据库中?

建议您使用 数据迁移 功能,可以直接连到您的源库进行数据同步。

想配置同城双备,能够实现两个实例实时数据同步吗?

可在控制台购买 灾备实例 来实现此需求 。

如果您无法通过内外网正常访问 MySQL 实例,连接检查工具可协助您轻松排查内外网的连接问题。

内网连接检查

当您通过 CVM 访问 MySQL 实例遇到访问异常的问题时,可以通过 MySQL 控制台所提供的连接检查工具进行内网连接相关问题的排查,仅需简单的操作便能轻松解决内网无法连接的问题。

  1. 登录 云数据库 MySQL 控制台,选择需要排查的 MySQL 实例,在实例管理页中选择【连接检查】页。

  2. 检查内网连接问题时,需单击【添加访问此实例的云主机】,添加访问此 MySQL 实例的 CVM 实例。

    说明:

    选择 CVM 实例时,默认仅提供同地域云服务器,如果您需要跨地域访问,请通过 对等连接 实现网络互通。


  3. 添加完成后,单击【开始检查】,在检查任务完成后,会生成检查报告。

  4. 在检查报告的状态列,单击【查看报告】可查看检查结果。

    • 若检查状态为【正常】,则表示 CVM 实例允许通过内网正常访问该 MySQL 实例。

    • 若检查状态为【异常】,则表示 CVM 实例无法通过内网正常访问该 MySQL 实例。请参考异常检查项的【处理建议】进行设置,更多内网访问的问题,请参见 无法连接实例问题


外网连接检查

当您通过外网服务器访问 MySQL 实例遇到访问异常的问题时,可以通过 MySQL 控制台所提供的连接检查工具进行外网连接相关问题的排查,仅需简单的操作便能轻松解决外网无法连接的问题。

  1. 登录 MySQL 控制台,选择需要排查的 MySQL 实例,在实例详情页中选择【连接检查】>【外网检查】页。

  2. 检查外网连接问题时,需单击【添加访问此实例的外网服务器】,添加访问此 MySQL 实例的外网服务器。

  3. 添加完成后,单击【开始检查】,在检查任务完成后,会生成检查报告。

  4. 在检查报告的状态列,单击【查看报告】可查看检查结果。

    • 若检查状态为【正常】,则表示外网服务器允许通过外网正常访问该 MySQL 实例。

    • 若检查状态为【异常】,则表示外网服务器无法通过外网正常访问该 MySQL 实例。请参考异常检查项的【处理建议】进行设置,更多外网访问的问题,请参见 无法连接实例问题


云服务器与云数据库部署在相同地域上,如何连接 MySQL?

云服务器与云数据库部署在相同地域上时,请使用内网访问,连接方式请参考 访问 MySQL 数据库

云服务器与云数据库部署在不同地域上,如何连接 MySQL?

云服务器与云数据库部署在不同地域上时,请使用外网访问,连接方式请参考 外网访问

云数据库连接故障诊断及解决方案

当使用云数据库出现连接登录问题时,首先 telnet 验证云数据库的网络端口连通性,然后在云服务器上通过命令行登录云数据库:

说明:

云数据库的帐号默认为 root,密码为初始化选项中配置的帐号密码。

mysql-h[云数据库IP]-P[云数据库端口号]-uroot-p[云数据库密码]

下面是常见的问题类型及解决方案:

  • 当出现 “ERROR 1045(28000):Access denied for user...” 的提示语时,请确认您输入的云数据库帐号、密码是否正确,忘记密码请参考 密码重置,如果重复输入正确信息后仍然报该错误,请查看您的实例是否有对访问 IP 做限制,在 MySQL 控制台 实例详情页的【数据库管理】>【帐号管理】。

  • 当出现 “ERROR 1040(00000):Too many connections” 的提示语时,表明云数据库实例当前最大连接数超过了限制。常见原因及解决方案:
    i. sleep 线程数很多,建议在控制台调低 wait_timeout和interactive_timeout 参数值。
    ii. 慢查询堆积,long_query_time参数值默认10s,建议调成1s - 2s,观察慢查询日志。
    iii. sleep 线程数很少,也没有慢查询堆积,建议在控制台调大 max_connections 参数值。

  • 当出现 “ERROR 2003 (HY000): Can't connect to MySQL server...” 的提示语时,请确认您输入的云数据库的 IP、端口信息是否正确。如果重复输入正确信息后仍然报该错,可以查看该实例控制台的安全组策略,确认该 CVM 是否有访问该 TencentDB 的权限。详见 云数据库安全组

  • 如果是在数据迁移时遇到连通性测试不通时,请查看是否对提示的迁移代理 IP 做了安全策略的开通。

  • 用户设置了 init_connect 参数,例如:mysql>set global init_connect='insert into db_monitor.accesslog(thread_id,log_time,localname,matchname) values(connection_id(),now(),user(),current_user())';
    这会触发每个非 super 权限用户的连接,在每次连接数据库都会向 db_monitor.accesslog 表里插入一条记录,一旦 db_monitor.accesslog 表上存在未提交的事务或相关的锁等待,那么 insert into db_monitor.accesslog 表的操作都会被卡住,进而导致非 super 权限用户的所有连接都会被卡住,影响到用户正常使用云数据库。请用户谨慎配置 init_connect 参数。

网络类型不同

若云服务器(CVM)实例和 MySQL 实例的网络类型不一致,则 CVM 实例无法直接通过内网访问 MySQL 实例。

CVM 实例采用专有网络(VPC),MySQL 实例采用基础网络

  • 解决办法一(推荐):将 MySQL 实例从基础网络切换为 VPC 网络。

    注意:


    • 切换后,两者必须处于同一 VPC 网络,才能内网互通。

    • 基础网络切换至 VPC 网络后,无法再切换回来。

    • 切换后,VPC 网络访问立即生效,原有基础网络的访问将保留24小时,请在24小时内将该实例相关联的实例迁至 VPC 网络,以保证相关实例的访问。


  • 解决办法二:重新购买基础网络的 CVM 实例(CVM 实例不支持从 VPC 迁移到基础网络)。但是 VPC 网络比基础网络更安全,建议您使用 VPC 网络。

  • 解决办法三:CVM 实例使用 MySQL 实例的外网连接地址连接 MySQL 实例。这种方式的性能、安全性、稳定性较差,建议您使用 VPC 网络。

CVM 实例采用基础网络,MySQL 实例采用专有网络(VPC)

  • 解决办法一(推荐):将 CVM 实例从基础网络迁移到 VPC 网络,具体操作请参见 CVM 迁移示例

    注意:


    • 切换后,两者必须处于同一 VPC 网络才能内网互通。

    • 迁移前,请自行解绑内外网负载均衡 CLB 以及弹性网卡,并释放主网卡的辅助 IP,迁移后再进行绑定。

    • 迁移过程中,实例需要进行重启,请勿进行其他操作。

    • 迁移后,请注意检查实例运行状态,内网访问以及远程登录是否正常。

    • 基础网络切换 VPC 网络后不可逆,CVM 切换至 VPC 网络后与其他基础网络的云服务不互通。


  • 解决办法二:使用基础网络互通

  • 解决办法三:CVM 实例使用 MySQL 实例的外网连接地址连接 MySQL 实例。这种方式的性能、安全性、稳定性较差,建议您使用 VPC 网络。

私有网络不同

默认情况下,CVM 实例与 MySQL 实例的网络类型都为 VPC 网络且两者都位于同一 VPC 网络时,才能直接通过内网互通。如果位于不同 VPC,可以采取以下方法使 CVM 和 MySQL 进行互通。

  • 解决办法一(推荐):将 MySQL 实例迁移到 CVM 实例所在的 VPC 网络。
    具体操作:参考 MySQL 的 切换网络,将 MySQL 实例的 VPC 网络切换成 CVM 实例所在的 VPC 网络。

  • 解决办法二:在两个 VPC 网络之间建立 对接连接
    若不采取以上办法,则位于不同 VPC 网络的 CVM 和 MySQL 只能通过公网互通。这种方式的性能、安全性、稳定性较差。

安全组配置有误

若 CVM 实例和 MySQL 实例的安全组配置有误,则 CVM 实例无法直接通过内网或外网访问 MySQL 实例。

CVM 实例安全组配置有误

若想要使用 CVM 实例通过内网访问 MySQL 实例,需要在 CVM 安全组中配置出站规则,当出站规格的目标配置不为0.0.0.0/0且协议端口不为 ALL 时,需要把 MySQL 实例的内网 IP 及端口添加到出站规则中。

  1. 登录 安全组控制台,单击安全组名称进入 CVM 绑定的安全组详情页。

  2. 选择【出站规则】页,单击【添加规则】。
    填写您的IP地址(段)及需要放通的端口信息(MySQL 内网地址),选择允许放通。

MySQL 实例安全组配置有误

若想要指定的 CVM 实例通过内网访问 MySQL 实例或者使用外网访问 MySQL 实例,需要在 MySQL 安全组中配置入站规则,当入站规则的源端配置不为0.0.0.0/0且协议端口不为ALL时,需要把 CVM 实例的内网 IP 或者外网客户端 IP 及端口添加到入站规则中。

  1. 登录 安全组控制台,单击安全组名称进入 MySQL 实例绑定的安全组详情页。

  2. 选择【入站规则】页,单击【添加规则】。
    填写您允许访问的 IP 地址(段)及需要放通的端口信息(MySQL 内网端口),选择允许放通。

    注意:


    • MySQL 内网默认端口为3306,同时支持自定义端口,若修改过默认端口号,安全组中需放通 MySQL 新端口信息。

    • 使用外网访问 MySQL 实例时,安全组入站规则需要放通 MySQL 实例的3306端口。

    • 使用外网访问 MySQL 实例时,需将外网客户端的 IP 地址加入安全组入站规中。


问题描述

为防止云数据库被 DDoS 攻击,MySQL 默认禁止使用 ping 命令来检查网络的连通性。

解决方案

建议您使用 telnet 命令来快速排查和定位网络连通性问题。

  • 命令格式如下:

    telnet 内网/外网IP地址 内/外网端口
  • 执行命令后网络访问情况如下

    • 网络访问正常的情况

    • 网络访问异常的情况

说明:

若使用 telnet 命令也无法连接,您可以通过 连接检查工具 来协助您轻松排查内、外网的连接问题。

为什么 MySQL 实例监控中 max_connections 数值始终显示为1000,而不是实际的当前最大连接数?

实例监控中 max_connections 表示允许的最大连接个数,您可以自定义,最大取值 10240;【当前打开连接数】表示当前时刻实际的连接数,是实时变化的值。

如何获知磁盘空间不足?

监控中心对云数据库的磁盘空间进行了监控,当云数据库的使用空间超过90%时,会触发短信和邮件告警,您只需要在云监控中配置好对应的告警接收人(如何配置请参见 告警功能),当空间不足的时候就能收到告警。


品质认证
全国包邮
官方授权代理商
24小时售后服务
企业专属特权
服务保障
正品保证
官方授权代理商
24小时售后
关于我们
支付方式
公司转账
对私付款
支付宝付款
微信支付
商家服务
商家入驻
培训中心
广告服务
服务市场
物流配送
免运费
海外配送
京东快递
211限时达
website qrcode

扫描查看手机版网站

会员登录
登录
其他帐号登录:
我的资料
购物车
0
留言
回到顶部