华为云用户手册

  • 迁移PyPI组件 进入私有依赖库,在左侧边栏中选择目标PyPI私有依赖库。 单击仓库名称,页面中仓库的详细信息显示“仓库地址”,单击即可复制该地址。 单击页面右上方“操作指导”,在弹框中单击“下载配置文件”,将配置文件pypirc下载到本地。 在本地打开配置文件,在文件中搜索并找到用户名与密码。 单击页面右上方,单击“下载迁移工具”将迁移工具压缩包(脚本uploadArtifact2.py、配置文件artifact.conf)下载到本地。 配置artifact.conf。 [artifact] packageType = 组件类型,设置为pypi userInfo = username:password(步骤3中获取的用户名与密码) repoRelease = 私有依赖库地址(步骤2中获取的仓库地址) repoSnapshot = 保留为空 srcDir = 组件的目录路径,例如:C:\Users\xxxxxx\repository,用户自己指定 [nexus] nexusAddr=nexus地址 nexusPort=nexus端口 repoName=待迁移的nexus仓库名称 userName=nexus用户名 passwd=nexus密码 执行迁移脚本python uploadArtifact2.py。 进入私有库页面查看二进制包是否上传成功。
  • 迁移npm组件 进入私有依赖库,在左侧边栏中选择目标npm私有依赖库。 单击仓库名称,页面中仓库的详细信息显示“仓库地址”,单击即可复制该地址。 单击页面右上方“操作指导”,在弹框中单击“下载配置文件”,将npmrc文件下载到本地。 在本地打开配置文件,在文件中找到“_auth”字段的值并进行base64解码。 单击页面右上方,单击“下载迁移工具”将迁移工具压缩包(脚本uploadArtifact2.py、配置文件artifact.conf)下载到本地。 配置artifact.conf。 [artifact] packageType = 组件类型,设置为npm userInfo = npm仓库下的配置文件npmrc中通过base64 解密后的_auth字段的值(参考步骤3) repoRelease = 私有依赖库地址(步骤2中获取的仓库地址) repoSnapshot = 保留为空 srcDir = 组件的目录路径,例如:C:\Users\xxxxxx\repository,用户自己指定 [nexus] nexusAddr=nexus地址 nexusPort=nexus端口 repoName=待迁移的nexus仓库名称 userName=nexus用户名 passwd=nexus密码 检查对应npm仓是否配置了路径白名单。 请确认package.json中私有二进制包是否在白名单内,只有与白名单内匹配的二进制包才能上传成功;没有配置白名单,则package.json中私有二进制包都可以上传成功。 执行迁移脚本python uploadArtifact2.py。 进入对应的私有依赖库,查看组件包是否上传成功。
  • 迁移Maven组件 从Maven本地仓库(例如:C:\Users\xxxxx\.m2\repository)找到需迁移的组件,复制到指定目录(用户自己指定)。 进入私有依赖库,在左侧边栏中选择目标Maven私有依赖库。 单击仓库名称,页面中仓库的详细信息显示“仓库地址”,单击即可复制该地址。 单击页面右上方“操作指导”,在弹框中单击“下载配置文件”,将配置文件settings.xml下载到本地。 在本地打开配置文件,在文件中搜索并找到用户名与密码。 单击页面右上方,单击“下载迁移工具”将迁移工具压缩包(脚本uploadArtifact2.py、配置文件artifact.conf)下载到本地。 配置artifact.conf。 [artifact] packageType = 组件类型,设置为Maven userInfo = username:password(步骤4中获取的用户名与密码) repoRelease = 仓库类型为 Release地址(步骤3中获取的仓库地址) repoSnapshot = 仓库类型为 Snapshot地址(步骤3中获取的仓库地址) srcDir = 组件的目录路径(用户自己指定),如存放在步骤1下载组件的目标路径。 [nexus] nexusAddr=nexus地址 nexusPort=nexus端口 repoName=待迁移的nexus仓库名称 userName=nexus用户名 passwd=nexus密码 执行迁移脚本python uploadArtifact2.py。 进入对应的私有依赖库,查看组件包是否上传成功。
  • 发布私有组件到PyPI私有依赖库 下载私有依赖库配置文件。 登录制品仓库,选择私有依赖库,进入PyPI私有依赖库。单击页面右侧“操作指导”。 在弹框中找到“发布配置”,单击“下载配置文件”。 在本地将下载的“pypirc”文件另存为“.pypirc”文件。 配置代码仓库。 进入 代码托管服务 ,创建Python代码仓库(操作步骤请参考新建仓库)。本文使用模板“Python3 Demo”创建代码仓库。 进入代码仓库,将“.pypirc”文件上传至代码仓库的根目录中。 配置并执行编译构建任务。 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。 在页面中选择“空白构建模板”,单击“下一步”。 添加步骤“SetupTool构建”。 编辑步骤“SetupTool构建”。 工具版本按照实际选择,本文中选择“python3.6”。 删除已有命令行,输入以下命令: # 请保证代码根目录下有setup.py文件,下面命令将把工程打为whl包 python setup.py bdist_wheel # 设置当前项目根目录下的.pypirc文件为配置文件 cp -rf .pypirc ~/ # 上传组件至pypi私有库 twine upload -r pypi dist/* 如果上传时报证书问题,请在上述命令首行添加以下命令,设置环境变量跳过证书校验: export CURL_CA_BUNDLE="" 单击“新建并执行”,执行构建任务。 待任务执行成功时,进入私有依赖库,可找到通过构建任务上传的PyPI私有组件。
  • 从PyPI私有依赖库获取依赖包 以发布私有组件到PyPI私有依赖库中发布的PyPI私有组件为例,介绍如何从PyPI私有依赖库中获取依赖包。 下载私有依赖库配置文件。 进入PyPI私有依赖库,单击页面右侧“操作指导”。 在弹框中找到“下载配置”,单击“下载配置文件”。 在本地将下载的“pip.ini”文件另存为“pip.conf”文件。 配置代码仓库。 进入代码托管服务,创建Python代码仓库(操作步骤请参考新建仓库)。本文使用模板“Python3 Demo”创建代码仓库。 进入代码仓库,将“pip.conf”文件上传至需要使用PyPI依赖包的代码仓库根目录中。 在代码仓库中找到“requirements.txt”文件并打开(若没有请新建文件),将依赖包配置添加到此文件中,本文中配置的值为: demo ==1.0 配置并执行编译构建任务。 在代码仓库中,单击页面右上角“设置构建”,页面跳转至“新建编译构建任务”页面。 在页面中选择“空白构建模板”,单击“下一步”。 添加步骤“Setup Tool构建”。 编辑步骤“SetupTool构建”。 工具版本按照实际选择,本文中选择“python3.6”。 删除已有命令行,输入以下命令: # 可以通过此命令设置当前项目根目录下的pip.conf文件为配置文件 export PIP_CONFIG_FILE=./pip.conf # 下载pypi组件 pip install -r requirements.txt --no-cache-dir 单击“新建并执行”,执行构建任务。 待任务执行成功时,查看构建任务详情,在日志中找到类似如下内容,说明编译构建任务从私有依赖库完成了依赖包下载并构建成功。
  • 名词解释 对象存储服务 OBS:是一个基于对象的海量存储服务,为客户提供海量、安全、高可靠、低成本的数据存储能力。 函数工作流 FunctionGraph:是一项基于事件驱动的函数托管计算服务。使用FunctionGraph函数,只需编写业务函数代码并设置运行的条件,无需配置和管理服务器等基础设施,函数以弹性、免运维、高可靠的方式运行。此外,按函数实际执行资源计费,不执行不产生费用。 自然语言处理 NLP:自然语言处理提供分词、命名实体识别、关键词提取、文本相似度等自然语言相关的API,可用于智能问答、 对话机器人 、内容推荐、电商评价分析。 机器翻译 NLPMT:机器翻译(Machine Translation)致力于为企业和个人提供不同语种间快速翻译能力,通过API调用即可实现源语言文本到目标语言文本的自动翻译。 事件网格 EG:事件网格(EventGrid,简称EG)是华为云提供的一款Serverless事件总线服务,支持华为云服务、自定义应用、SaaS应用以标准化、中心化的方式接入,通过标准化的CloudEvents协议在这些应用之间以灵活方式路由事件,帮助您轻松构建松耦合、分布式的事件驱动架构。
  • 快速部署 本章节主要帮助用户快速部署该解决方案 表1 参数说明 参数名称 类型 是否可选 参数解释 默认值 source_language string 必填 需要翻译的字幕文件源语言,支持阿拉伯语言(ar)、德语(de)、俄语(ru)、法语(fr)、韩语(ko)、葡萄牙语(pt)、日语(ja)、泰语(th)、土耳其语(tr)、西班牙语(es)、英语(en)、越南语(vi)、中文(简体)(zh)、中文(繁体)(zh-tw),自动检测输入语种(auto)并翻译成目标语种,您需要指定目标语种。 zh target_language string 必填 需要翻译的字幕文件目标语言,支持阿拉伯语言(ar)、德语(de)、俄语(ru)、法语(fr)、韩语(ko)、葡萄牙语(pt)、日语(ja)、泰语(th)、土耳其语(tr)、西班牙语(es)、英语(en)、越南语(vi)、中文(简体)(zh)、中文(繁体)(zh-tw)。 en obs_bucket_name string 必填 对象存储服务 OBS桶名称,全局唯一。该解决方案会创建两个OBS桶,命名方式为{obs_bucket_name}-source(用于上传需要翻译的字幕文件)、{obs_bucket_name}-result(用于存放翻译后的字幕文件)。取值范围:1-56个字符,以字母或数字开头,仅支持小写字母、数字、中划线(-)、英文句号(.)。 空 functiongraph_name string 必填 函数工作流 Functiongraph函数名称,不支持重名。取值范围:长度为2-57个字符,支持字母、数字、_(下划线)和-(中划线),以字母开头,以字母或数字结尾。 subtitle-translation-demo 登录华为云解决方案实践,选择“字幕翻译”,单击“一键部署”,跳转至解决方案创建资源栈界面。 图1 解决方案实践 在选择模板界面中,单击“下一步”。 图2 选择模板 在配置参数界面中,参考表3-1 参数填写说明完成自定义参数填写,单击“下一步”。 图3 配置参数 (可选,如果使用华为主账号或admin用户组下的 IAM 子账户可不选委托)在资源设置界面中,在权限委托下拉框中选择“rf_admin_trust”委托,单击“下一步”。 图4 资源栈设置 在配置确认界面中,单击“创建执行计划”。 图5 配置确认 在弹出的创建执行计划框中,自定义填写执行计划名称,单击“确定”。 图6 创建执行计划 单击“部署”,并且在弹出的执行计划确认框中单击“执行”。 图7 执行计划 图8 执行计划确认 待“事件”中出现“Apply required resource success”,表示该解决方案已经部署完成。 图9 部署完成 父主题: 实施步骤
  • 给rf_admin_trust委托添加IAM Agency Management FullAccess策略 打开“ 统一身份认证 ”菜单。 图12 统一身份认证菜单 进入“委托”菜单,选择rf_admin_trust委托。 图13 委托列表 进入“授权记录”菜单,单击“授权”按钮。 图14 授权记录 在搜索框输入IAM Agency Management FullAccess,勾选过滤出来的记录,单击下一步,并确认完成权限的配置。 图15 配置IAM Agency Management FullAccess策略 配置好后的情况:rf_admin_trust委托拥有Tenant Administrator和IAM Agency Management FullAccess权限。 图16 授权记录列表
  • 创建rf_admin_trust委托 进入华为云官网,打开控制台管理界面,鼠标移动至个人账号处,打开“统一身份认证”菜单。 图1 控制台管理界面 图2 统一身份认证菜单 进入“委托”菜单,搜索“rf_admin_trust”委托。 图3 委托列表 如果委托存在,则不用执行接下来的创建委托的步骤。 如果委托不存在时执行接下来的步骤创建委托。 单击步骤2界面中的“创建委托”按钮,在委托名称中输入“rf_admin_trust”,委托类型选择“云服务”,选择“ RFS ”,单击“下一步”。 图4 创建委托 在搜索框中输入“Tenant Administrator”权限,并勾选搜索结果,单击“下一步”。 图5 选择策略 选择“所有资源”,并单击下一步完成配置。 图6 设置授权范围 “委托”列表中出现“rf_admin_trust”委托则创建成功。 图7 委托列表
  • 资源和成本规划 该解决方案主要部署如下资源,以下费用仅供参考,具体请参考华为云官网价格计算器,实际收费以账单为准。 表1 成本预估(仅供参考) 华为云服务 计费说明 每月花费 自然语言处理 NLP 文本翻译 区域:华北-北京四 按需付费 0-一百万:0 元/百万字符 一百万-五千万:50 元/百万字符 五千万-一亿:42.5 元/百万字符 一亿以上:35 元/百万字符 按字符计费,详细请参考每月账单。 对象存储服务 OBS 区域:华北-北京四 存储空间:数据存储(多AZ存储) 默认存储类别:标准存储 桶策略:私有 请求费用:0.0100元/万次 存储空间:0.1390元/GB/月 流量费用: 公网流出流量 / 00:00-08:00(闲时)0.2500元/GB 公网流出流量 / 08:00-24:00(忙时)0.5000元/GB 费用包括存储空间、请求费用、流量费用两部分,具体请参考OBS计费详情。 费用包括存储空间、请求费用、流量费用三部分,详细请参考每月账单。 函数工作流 FunctionGraph 区域:华北-北京四 产品:函数 请求次数: 0-100万次: 0元/100万次 100万次以上 : 1.33元/100万次 计量时间: 0-400,000 GB/秒: 0元/GB-秒 400,000 GB/秒以上 :0.00011108元/GB-秒 费用包括请求次数、计量时间两部分,详细请参考每月账单。 事件网格 EG 区域:华北-北京四 自定义(包含云服务租户侧事件产生 )或三方事件流入的事件数量 根据事件流入的数量按量计费,6.75元/百万个。 华为云服务事件源自身产生发布的事件(任意事件状态变化 )免费,事件消费免费。 免费 合计 - 函数工作流费用+文本翻译费用+OBS费用
  • 方案架构 该解决方案基于华为云函数工作流 FunctionGraph、自然语言处理 NLP等资源一键式部署,实现对字幕文件的翻译。解决方案架构图如下: 图1 方案架构图 该解决方案会部署如下资源: 在函数工作流 FunctionGraph中创建一个函数,用于实现对字幕文件的源语言到目标语言的文字翻译 创建两个对象存储服务 OBS桶,一个用于上传原始字幕文件,另一个用于转储翻译后的字幕文件 使用自然语言处理 NLP服务,由函数工作流调用其文本翻译接口,实现对源文件的翻译 使用事件网格 EG服务,创建一个事件订阅,作为函数工作流的OBS应用事件源触发器 使用统一身份认证服务 IAM创建两个委托,一个用于将OBS桶的操作权限委托给函数工作流;另一个用于事件网格触发函数
  • RDS for MySQL 5.6 表3 云数据库 RDS for MySQL 5.6版本说明 日期 特性描述 2024-10-28 5.6.51版本更新以下内容: 修复问题 回合开源社区row_search_mvcc函数崩溃bug导致数据库实例崩溃问题。 优化XA事务在commit后长事务的计算问题。 2023-09-01 5.6.51版本更新以下内容: 新特性及性能优化 优化了SQL限流功能。 修复问题 修复了社区审计日志线程挂住的问题。 2023-03-15 5.6.51版本更新以下内容: 新特性及性能优化 优化了超大SQL审计日志的打印。 强化了日志打印的安全性。 修复问题 修复参考表添加索引与另一张表添加外键并发执行时可能出现的复制异常。 2022-09-09 新特性及性能优化 KILL会话支持per thread连接方式。 修复问题 修复开启proxy可能导致的异常重启。 修复main.proxy_connect缓冲区溢出。 修复插件可能内存申请失败导致的异常重启。 2022-06-01 修复社区innodb_row_lock_current_waits统计不准确的问题。 2021-08-07 新特性 支持数据库添加备注功能。 系统库防止被DDL修改。 升级openssl,jemalloc开源组件。 修复问题 修复修改密码可能会导致同步断开的问题。 修复审计日志错误写入其他文件的问题。 2021-04-13 修复由于回放保序导致备机小概率复制中断的问题。 内核版本升级到5.6.51。 安全加固 社区MySQL 5.6版本补丁不再发布,该版本的漏洞补丁服务也不再发布。 2021-01-26 新特性 支持在代理情况下显示真实的客户端地址。 修复问题 修复执行select 1 for update报语法错误问题。 全量SQL采集性能优化。 2020-12-31 重构SQL限流功能,提高易用性。 2020-11-06 内核版本升级到5.6.50。 2020-09-23 支持SQL限流,业务高峰期可以限制特定SQL的执行频率。 2020-08-03 内核版本升级到5.6.49。 2020-07-09 支持本地盘磁盘日志切换。 支持在错误日志中记录用户的操作历史。 2020-05-30 bufferpool内存初始化模块优化,提高初始化效率。 2020-04-30 修复用户低概率连接数据库失败问题。 2020-03-30 支持全量SQL采集功能。 编译器升级到7.3。 内核版本升级到5.6.47。 2020-02-15 复制双通道:新增复制状态通道,准确判断主库崩溃时的复制状态。确保事务不丢失。 Optimized ROW_IMAGE模式:缩减binlog大小,同时支持迁移,SQL闪回等场景。 2019-12-15 长事务:通过show processlist获取事务的执行时间Trx_Executed_Time。 Online扩展String字段长度:扩展VARCHAR类型字段长度从COPY模式默认变为INPLACE模式。详见在线扩展varchar类型字段。 InnoDB死锁信息丰富:通过show engine innodb status命令可以观察到InnoDB层死锁发生时完整的现场信息。 2019-10-15 内核版本升级到5.6.45。 用户线程内存使用信息、CPU时间使用信息,用户通过show full processlist进行查询。 KILL空闲事务:通过设置超时时间,自动KILL长时间空闲事务。详见主动终止空闲事务。 2019-08-15 Jemalloc内存管理:替换Glibc内存管理模块,降低内存占用,内存分配效率更高效。 2019-06-15 内核版本升级到5.6.43。 支持审计功能。 2019-05-15 修复特定场景主备复制时延“Seconds_Behind_Master”不准确的问题。 修复“SQL_MODE”为“PAD_CHAR_TO_FULL_LENGTH”时的主备复制异常问题。 2019-01-15 修复只读执行flush操作后导致主备不一致,复制中断的问题。 修复REPAIR,OPTIMIZE等语句导致备机复制线程卡住问题。 修复grant select(column_name) 语句复制线程报错问题。 2018-11-15 内核版本升级到5.6.41。 GTID开启时支持事务中创建和删除临时表。 支持表级别MTS并行回放。 2018-07-15 新特性 内核版本升级到5.6.40。 支持线程池。详见连接线程池。 支持 CTS 语法:支持create table xx select语法。 修复以下问题 修复binlog和relay log名依赖PID文件名的问题。 修复“relay_log_basename”变量空指针导致备机卡住的问题。 修复force index语法在group_by xx order_by xx limit n1,n2 场景下失效的问题。
  • RDS for MySQL 5.7 表2 云数据库 RDS for MySQL 5.7版本说明 日期 特性描述 2024-10-28 5.7.44版本更新以下内容: 修复问题 解决SQL限流功能的一些Bug。详见社区Bug #96610。 2024-04-11 内核版本升级到5.7.44。 具体修改点同社区版一致,详见社区5.7.44版本发布说明。 安全加固 解决安全漏洞:CVE-2023-22028、CVE-2023-22084、CVE-2023-38545。 2023-12-01 新特性及性能优化 升级到5.7.43版本。 SQL限流功能变化:所有账户当前都会被限流(之前的行为:对root不限流);如需设定不限流的账户请联系客服。 新增information_schema.rds_sql_filter_info,可以查看SQL限流功能的当前并发数和历史拦截数。 修复问题 修复了社区审计日志插件不记录prepare协议语句的问题。 安全加固 解决安全漏洞:CVE-2022-43551、CVE-2023-21912、CVE-2023-21980、CVE-2023-22007、CVE-2023-22015、CVE-2023-22026、CVE-2023-22053。 2023-09-01 5.7.41版本更新以下内容: 新特性及性能优化 优化了SQL限流功能。 优化了jemalloc组件释放内存缓慢,导致OOM的行为。 修复问题 修复了社区审计日志内存泄漏、线程挂住的问题。 修复了社区间隙锁范围过大的问题。 2023-06-28 新特性及性能优化 升级到5.7.41版本。 增加安全编译选项。 修复问题 修复参考表添加索引与另一张表添加外键并发执行时可能出现的复制异常。 修复删除外键表后再删除子表时可能出现的复制异常。 安全加固 解决安全漏洞:CVE-2023-21963、CVE-2022-32221、CVE-2023-21840、CVE-2022-2097、CVE-2022-21617、CVE-2022-21608、CVE-2022-21592、CVE-2022-21589、CVE-2022-1292、CVE-2022-27778、CVE-2018-25032、CVE-2022-21515。 2022-09-09 新特性及性能优化 升级到5.7.38版本。 升级编译器到GCC 10.3。 KILL会话支持per thread连接方式。 慢日志的阈值可考虑等锁耗时。 ALT功能安全加固。 修复问题 增强分布式XA事务主库崩溃恢复安全。 修复开启proxy可能导致的异常重启。 修复插件可能内存申请失败导致的异常重启。 安全加固 解决安全漏洞:CVE-2022-21454、CVE-2022-21417、CVE-2022-21427、CVE-2022-21451、CVE-2022-21444、CVE-2022-21460。 2022-06-01 新特性及性能优化 内核版本升级到5.7.37。 升级编译器到GCC 9.3。 升级openssl、curl开源组件。 修复问题 修复单个超大Binlog可能导致的复制中断问题。 修复slave并发回放grant可能导致的异常重启的问题。 修复隐藏自增键可能导致的复制中断问题。 修复虚拟字段表在ROLLBACK时可能异常重启的问题。 修复加密表在recovery异常重启问题。 修复Seconds Behind Master特定场景不准确问题。 安全加固 解决安全漏洞:CVE-2022-21367、CVE-2022-21304、CVE-2022-21344。 2022-01-26 新特性及性能优化 支持隐藏自增键特性。 修复问题 修复XA事务重复提交可能导致复制异常问题。 修复社区innodb_row_lock_current_waits统计不准确的问题。 2021-11-26 新特性及性能优化 全量SQL放开单条记录长度限制。 RDS for MySQL透明应用连续性(ALT)特性第一期。 修复问题 修复线程池极端场景的内存问题。 修复XA事务备机回放概率性卡住。 2021-08-07 新特性及性能优化 线程池静态连接,提高性能。 开启PGO(Profile-Guided Optimization)编译优化。 优化MySQL HASH算法。 支持数据库添加备注功能。 系统库防止被DDL修改。 在errlog中提供IO延迟信息。 支持minidump。 内核版本升级到5.7.33。 升级openssl,jemalloc,curl开源组件。 修复问题 修复由于回放保序导致备机小概率复制中断的问题。 修复XA事务在binlog rotate后可能异常重启的问题。 修复全量SQL可能存在未记录预编译SQL操作类型的问题。 修复flush privieges操作的executed time统计错误的问题。 修复审计日志错误写入其他文件的问题。 安全加固 解决安全漏洞:CVE-2021-2011、CVE-2021-2178、CVE-2021-2202。 2021-04-13 修复XA事务在数据库异常重启后可能发生丢失的问题。 优化自适应HASH分割算法。 内核版本升级到5.7.32。 2021-01-26 新特性 支持在代理情况下显示真实的客户端地址。 修复问题 全量SQL采集性能优化。 修复revoke权限可能导致主备权限不一致的问题。 回合8.0中对Instant add column的优化。 2020-12-31 性能优化 优化慢日志额外信息的采集效率。 升级编译器至GCC 9。 修复问题 修复XA事务回滚可能会导致备机复制中断问题。 2020-12-01 减少fil_sys互斥锁之间的冲突频率。 2020-11-06 新特性 内存申请编译器优化。 添加utf8优化对非ARM平台的支持。 修复问题 修复微秒计时器中gettimeofday多线程导致计时错误问题。 2020-09-21 内核版本升级到5.7.31。 支持SQL限流,业务高峰期可以限制特定SQL的执行频率。 2020-08-03 优化内核性能。 支持回收站。 增强本地盘清理数据可靠性。 2020-07-09 优化内核性能。 支持在错误日志中记录用户的操作历史。 提高XA事务的稳定性。 2020-06-30 优化内核性能。 支持本地盘磁盘日志切换。 bufferpool内存初始化模块优化,提高初始化效率。 提升ARM上部分操作的线程安全性。 2020-05-30 新特性 支持index hint功能。 支持抓取全量SQL日志。 修复以下问题 修复用户低概率连接数据库失败问题。 2020-04-30 优化内核性能。 2020-03-30 内核版本升级到5.7.29。 优化内核性能。 支持线程池统计IO waits事件。 2020-02-15 复制双通道:新增复制状态通道,准确判断主库崩溃时的复制状态,确保事务不丢失。 Optimized ROW_IMAGE模式:缩减binlog大小,同时支持迁移,SQL闪回等场景。 2019-12-15 DDL操作进度:通过“information_schema.innodb_alter_table_progress”获取添加列或添加索引操作的进度信息。详见DDL进度显示。 长事务:通过show processlist获取事务的执行时间Trx_Executed_Time。 Online扩展string字段长度:扩展varchar类型字段长度从COPY模式默认变为INPLACE模式。详见在线扩展varchar类型字段。 InnoDB死锁信息丰富:通过show engine innodb status可以观察到InnoDB层发生死锁情况时完整的现场信息。 2019-10-15 性能优化 ARM内核版本上线,该内核基于华为云鲲鹏服务器。 新特性 内核版本升级到5.7.27。 快速加列:表可以快速添加列,不拷贝数据,不占用磁盘空间和磁盘IO,业务高峰期可以实时变更。 MDL锁视图:通过“information_schema.metadata_lock_info”获取线程持有或等待的MDL锁信息。详见MDL锁视图。 2019-08-15 Jemalloc内存管理:替换Glibc内存管理模块,降低内存占用,内存分配效率更高效。 2019-06-15 内核版本升级到5.7.25。 2019-05-15 新特性 备库安全极速模式:在备库“sync_binlog”和“innodb_flush_log_at_trx_commit”为非1配置下,保证备库crash safe数据安全。sysbench高并发纯写模式下,主备复制延迟一直基本为0。 修复以下问题 修复“relay_log_recovery ”=“ON”时,特定场景Kill备库后无法重启的问题。 修复“SQL_MODE”为“PAD_CHAR_TO_FULL_LENGTH”时,主备复制异常的问题。 修复“performance_schema”重复统计错误的问题。 修复对“Performance_schema”中关于复制信息的表进行order by查询时,返回为空的问题。 2019-01-15 修复只读执行flush操作后导致主备不一致,复制中断的问题。 修复REPAIR,OPTIMIZE等语句导致备机复制线程卡住问题。 2018-11-15 内核版本升级到5.7.23。 GTID开启时支持事务中创建和删除临时表。 支持表级别MTS并行回放。 2018-07-15 内核版本升级到5.7.22。 支持线程池。详见连接线程池。 支持CTS语法:支持create table xx select语法。 算子下推:聚合算子下推到存储引擎层,提升count(),sum()执行速度。 KILL空闲事务:通过设置超时时间,自动KILL长时间空闲事务。详见主动终止空闲事务。 用户线程内存使用信息、CPU时间使用信息,用户通过show full processlist进行查询。
  • RDS for MySQL 8.0 表1 云数据库 RDS for MySQL 8.0版本说明 日期 特性描述 2024-10-28 8.0.28版本更新以下内容: 修复问题 优化statement outline,支持explain analyze语句。 解决8.0.28.x社区版本死锁问题。 解决SQL限流功能的一些Bug。详见社区Bug #96610。 2024-06-18 8.0.28版本更新以下内容: 修复问题 修复因会话引入LOCK_thd_security_ctx锁,而导致执行SHOW PRO CES SLIST语句时可能出现死锁的问题。详见社区Bug#32320541。 2024-05-23 内核版本升级到8.0.32。 新特性及性能优化 MySQL 8.0的动态权限功能允许SUPER用户向其他用户动态授予高级管理权限,例如SESSION_VARIABLES_ADMIN和SYSTEM_VARIABLES_ADMIN等。此版本支持通过内核能力禁用用户为自身赋予可能导致实例异常的危险权限。 对表进行加减列时,默认算法支持由INSTANT更改为INPLACE或COPY算法。 修复问题 具体修改点同社区版一致,详见社区8.0.32版本发布说明。 说明: 如需升级到8.0.32版本,请联系客服申请。 8.0.32版本由于社区引入Instant col特性导致在一些场景下存在性能劣化,详见社区bug111538。 安全加固 解决安全漏洞:CVE-2018-25032、CVE-2021-22570、CVE-2022-21412、CVE-2022-21413、CVE-2022-21414、CVE-2022-21415、CVE-2022-21417、CVE-2022-21418、CVE-2022-21423、CVE-2022-21425、CVE-2022-21427、CVE-2022-21435、CVE-2022-21436、CVE-2022-21437、CVE-2022-21438、CVE-2022-21440、CVE-2022-21444、CVE-2022-21451、CVE-2022-21452、CVE-2022-21455、CVE-2022-21459、CVE-2022-21460、CVE-2022-21462、CVE-2022-21478、CVE-2022-21479、CVE-2022-21509、CVE-2022-21515、CVE-2022-21517、CVE-2022-21522、CVE-2022-21525、CVE-2022-21526、CVE-2022-21527、CVE-2022-21528、CVE-2022-21529、CVE-2022-21530、CVE-2022-21531、CVE-2022-21534、CVE-2022-21537、CVE-2022-21538、CVE-2022-21539、CVE-2022-21547、CVE-2022-21553、CVE-2022-21556、CVE-2022-21569、CVE-2022-21592、CVE-2022-21594、CVE-2022-21599、CVE-2022-21604、CVE-2022-21605、CVE-2022-21607、CVE-2022-21608、CVE-2022-21611、CVE-2022-21617、CVE-2022-21625、CVE-2022-21632、CVE-2022-21633、CVE-2022-21635、CVE-2022-21637、CVE-2022-21638、CVE-2022-21640、CVE-2022-21641、CVE-2022-27778、CVE-2022-32221、CVE-2022-39400、CVE-2022-39402、CVE-2022-39403、CVE-2022-39408、CVE-2022-39410、CVE-2023-21836、CVE-2023-21863、CVE-2023-21864、CVE-2023-21865、CVE-2023-21866、CVE-2023-21867、CVE-2023-21868、CVE-2023-21869、CVE-2023-21870、CVE-2023-21871、CVE-2023-21872、CVE-2023-21873、CVE-2023-21874、CVE-2023-21875、CVE-2023-21876、CVE-2023-21877、CVE-2023-21878、CVE-2023-21879、CVE-2023-21880、CVE-2023-21881、CVE-2023-21882、CVE-2023-21883、CVE-2023-21887、CVE-2023-21912、CVE-2023-21913、CVE-2023-21917、CVE-2023-21963、CVE-2023-22015、CVE-2023-22026、CVE-2023-22028、CVE-2023-22084。 2023-12-01 8.0.28版本更新以下内容: 新特性及性能优化 SQL限流功能变化:所有账户当前都会被限流(之前的行为:对root不限流);如需设定不限流的账户请联系客服。 新增information_schema.rds_sql_filter_info,可以查看SQL限流功能的当前并发数和历史拦截数。 修复问题 修复了社区审计日志插件不记录prepare协议语句的问题。 2023-09-01 内核版本升级到8.0.28。 新特性及性能优化 优化了SQL限流功能。 优化了大文件异步Purge的性能。 修复问题 引入社区更高版本bugfix。 修复了社区并行DDL导致的数据不一致问题。 修复了社区审计日志内存泄漏、线程挂住的问题。 安全加固 解决安全漏洞:CVE-2019-17543、CVE-2020-1971、CVE-2021-22901、CVE-2021-22922、CVE-2021-22923、CVE-2021-22924、CVE-2021-22925、CVE-2021-22926、CVE-2021-22945、CVE-2021-22946、CVE-2021-22947、CVE-2021-2339、CVE-2021-2340、CVE-2021-2342、CVE-2021-2352、CVE-2021-2354、CVE-2021-2356、CVE-2021-2357、CVE-2021-2367、CVE-2021-2370、CVE-2021-2372、CVE-2021-2374、CVE-2021-2383、CVE-2021-2384、CVE-2021-23841、CVE-2021-2385、CVE-2021-2387、CVE-2021-2389、CVE-2021-2390、CVE-2021-2399、CVE-2021-2402、CVE-2021-2410、CVE-2021-2412、CVE-2021-2417、CVE-2021-2418、CVE-2021-2422、CVE-2021-2424、CVE-2021-2425、CVE-2021-2426、CVE-2021-2427、CVE-2021-2429、CVE-2021-2437、CVE-2021-2440、CVE-2021-2441、CVE-2021-2478、CVE-2021-2479、CVE-2021-2481、CVE-2021-3449、CVE-2021-35537、CVE-2021-35546、CVE-2021-35575、CVE-2021-35577、CVE-2021-35583、CVE-2021-35591、CVE-2021-35596、CVE-2021-35602、CVE-2021-35604、CVE-2021-35607、CVE-2021-35610、CVE-2021-35612、CVE-2021-35622、CVE-2021-35623、CVE-2021-35624、CVE-2021-35625、CVE-2021-35626、CVE-2021-35627、CVE-2021-35628、CVE-2021-35629、CVE-2021-35630、CVE-2021-35631、CVE-2021-35632、CVE-2021-35633、CVE-2021-35634、CVE-2021-35635、CVE-2021-35636、CVE-2021-35637、CVE-2021-35638、CVE-2021-35639、CVE-2021-35640、CVE-2021-35641、CVE-2021-35642、CVE-2021-35643、CVE-2021-35644、CVE-2021-35645、CVE-2021-35646、CVE-2021-35647、CVE-2021-35648、CVE-2021-3711、CVE-2022-0778、CVE-2022-21245、CVE-2022-21249、CVE-2022-21253、CVE-2022-21254、CVE-2022-21264、CVE-2022-21265、CVE-2022-21278、CVE-2022-21297、CVE-2022-21301、CVE-2022-21302、CVE-2022-21303、CVE-2022-21304、CVE-2022-21339、CVE-2022-21342、CVE-2022-21344、CVE-2022-21348、CVE-2022-21351、CVE-2022-21352、CVE-2022-21358、CVE-2022-21362、CVE-2022-21367、CVE-2022-21368、CVE-2022-21370、CVE-2022-21372、CVE-2022-21374、CVE-2022-21378、CVE-2022-21595、CVE-2022-21600、CVE-2023-21950。 2023-03-15 8.0.25版本更新以下内容: 新特性及性能优化 优化了超大SQL审计日志的打印。 强化了内核日志打印的安全性。 修复问题 修复并发实例DDL和DML操作可能导致异常重启问题。用户不再有权限赋予connection_admin权限。 2022-09-09 8.0.25版本更新以下内容: 新特性及性能优化 KILL会话支持per thread连接方式。 Performance Schema使用增加内存限制。 优化特定场景下全量SQL的性能。 优化特定场景下internal_tmp_mem_storage_engine为memory引擎的性能问题。 升级编译器到GCC 10.3。 修复问题 修复临时文件写入可能报错的问题。 修复CTE查询返回结果不符合预期的问题。 安全加固 解决安全漏洞:CVE-2021-2417、CVE-2021-2339、CVE-2021-2425、CVE-2021-2426、CVE-2021-2427、CVE-2021-2424、CVE-2021-2383、CVE-2021-2384、CVE-2021-2410。 2022-06-01 新特性及性能优化 内核版本升级到8.0.25。 支持SQL限流。 升级编译器到GCC 9.3。 修复问题 修复单个超大Binlog可能导致的复制中断问题。 修复社区innodb_row_lock_current_waits统计不准确的问题。 修复使用blob字段可能导致的异常重启问题。 安全加固 解决安全漏洞:CVE-2021-2307、CVE-2021-2180、CVE-2021-2194。 2021-08-07 新特性及性能优化 线程池静态连接,提高性能。 开启PGO(Profile-Guided Optimization)编译优化。 优化MySQL HASH算法。 支持数据库添加备注功能。 系统库防止被DDL修改。 添加参数innodb_total_tablespaces用于统计innodb表空间数量。 在i_s中提供innodb锁视图。 升级openssl,jemalloc,curl开源组件。 修复问题 修复XA事务在binlog rotate后可能异常重启的问题。 修复全量SQL未记录预编译SQL操作类型的问题。 修复flush privieges操作的executed time统计错误的问题。 修复审计日志错误写入其他文件的问题。 2021-04-13 修复XA事务在数据库异常重启后可能发生丢失的问题。 优化自适应HASH分割算法。 内核版本升级到8.0.21。 安全加固 解决安全漏洞:CVE-2020-14697、CVE-2020-14680、CVE-2020-14678、CVE-2020-14663、CVE-2021-2020、CVE-2020-14619、CVE-2020-14591、CVE-2020-14576、CVE-2020-14539。 2021-01-26 SQL限流特性性能优化。 全量SQL采集性能优化。 2020-12-31 性能优化 升级编译器到GCC 9。 2020-12-01 性能优化 优化慢日志额外信息的采集效率。 修复以下问题 修复XA事务回滚可能会导致备机复制中断问题。 2020-11-06 修复问题 修复微秒计时器中gettimeofday多线程导致计时错误问题。 2020-09-21 支持在错误日志中记录详细的连接断开信息。 支持index hint功能。 2020-08-03 显示大事务执行时间和等待时间。 为管理用户使用独立的连接控制。 支持SQL限流,业务高峰期可以限制特定SQL的执行频率。 优化内核性能。 2020-06-19 内核版本升级到8.0.20。 优化内核性能。 2020-02-15 RDS for MySQL 8.0版本正式商用。 ARM内核版本上线,该内核基于华为云鲲鹏服务器。 2019-12-15 内核版本升级到8.0.17。 并行创建索引:并行创建索引速度最快提升2.5倍。 2019-10-15 修复“SQL_MODE”为“PAD_CHAR_TO_FULL_LENGTH”时的主备复制异常问题。 2019-09-15 支持线程池。详见连接线程池。 升级Openssl版本至1.1.1a。 支持CTS语法:支持create table xx select语法。 用户线程内存使用信息、CPU时间使用信息,您可以通过show full processlist进行查询。
  • RDS for MySQL 5.6 表3 云数据库 RDS for MySQL 5.6版本说明 日期 特性描述 2024-10-28 5.6.51版本更新以下内容: 修复问题 回合开源社区row_search_mvcc函数崩溃bug导致数据库实例崩溃问题。 优化XA事务在commit后长事务的计算问题。 2023-09-01 5.6.51版本更新以下内容: 新特性及性能优化 优化了SQL限流功能。 修复问题 修复了社区审计日志线程挂住的问题。 2023-03-15 5.6.51版本更新以下内容: 新特性及性能优化 优化了超大SQL审计日志的打印。 强化了日志打印的安全性。 修复问题 修复参考表添加索引与另一张表添加外键并发执行时可能出现的复制异常。 2022-09-09 新特性及性能优化 KILL会话支持per thread连接方式。 修复问题 修复开启proxy可能导致的异常重启。 修复main.proxy_connect缓冲区溢出。 修复插件可能内存申请失败导致的异常重启。 2022-06-01 修复社区innodb_row_lock_current_waits统计不准确的问题。 2021-08-07 新特性 支持数据库添加备注功能。 系统库防止被DDL修改。 升级openssl,jemalloc开源组件。 修复问题 修复修改密码可能会导致同步断开的问题。 修复审计日志错误写入其他文件的问题。 2021-04-13 修复由于回放保序导致备机小概率复制中断的问题。 内核版本升级到5.6.51。 安全加固 社区MySQL 5.6版本补丁不再发布,该版本的漏洞补丁服务也不再发布。 2021-01-26 新特性 支持在代理情况下显示真实的客户端地址。 修复问题 修复执行select 1 for update报语法错误问题。 全量SQL采集性能优化。 2020-12-31 重构SQL限流功能,提高易用性。 2020-11-06 内核版本升级到5.6.50。 2020-09-23 支持SQL限流,业务高峰期可以限制特定SQL的执行频率。 2020-08-03 内核版本升级到5.6.49。 2020-07-09 支持本地盘磁盘日志切换。 支持在错误日志中记录用户的操作历史。 2020-05-30 bufferpool内存初始化模块优化,提高初始化效率。 2020-04-30 修复用户低概率连接数据库失败问题。 2020-03-30 支持全量SQL采集功能。 编译器升级到7.3。 内核版本升级到5.6.47。 2020-02-15 复制双通道:新增复制状态通道,准确判断主库崩溃时的复制状态。确保事务不丢失。 Optimized ROW_IMAGE模式:缩减binlog大小,同时支持迁移,SQL闪回等场景。 2019-12-15 长事务:通过show processlist获取事务的执行时间Trx_Executed_Time。 Online扩展String字段长度:扩展VARCHAR类型字段长度从COPY模式默认变为INPLACE模式。详见在线扩展varchar类型字段。 InnoDB死锁信息丰富:通过show engine innodb status命令可以观察到InnoDB层死锁发生时完整的现场信息。 2019-10-15 内核版本升级到5.6.45。 用户线程内存使用信息、CPU时间使用信息,用户通过show full processlist进行查询。 KILL空闲事务:通过设置超时时间,自动KILL长时间空闲事务。详见主动终止空闲事务。 2019-08-15 Jemalloc内存管理:替换Glibc内存管理模块,降低内存占用,内存分配效率更高效。 2019-06-15 内核版本升级到5.6.43。 支持审计功能。 2019-05-15 修复特定场景主备复制时延“Seconds_Behind_Master”不准确的问题。 修复“SQL_MODE”为“PAD_CHAR_TO_FULL_LENGTH”时的主备复制异常问题。 2019-01-15 修复只读执行flush操作后导致主备不一致,复制中断的问题。 修复REPAIR,OPTIMIZE等语句导致备机复制线程卡住问题。 修复grant select(column_name) 语句复制线程报错问题。 2018-11-15 内核版本升级到5.6.41。 GTID开启时支持事务中创建和删除临时表。 支持表级别MTS并行回放。 2018-07-15 新特性 内核版本升级到5.6.40。 支持线程池。详见连接线程池。 支持CTS语法:支持create table xx select语法。 修复以下问题 修复binlog和relay log名依赖PID文件名的问题。 修复“relay_log_basename”变量空指针导致备机卡住的问题。 修复force index语法在group_by xx order_by xx limit n1,n2 场景下失效的问题。
  • RDS for MySQL 5.7 表2 云数据库 RDS for MySQL 5.7版本说明 日期 特性描述 2024-10-28 5.7.44版本更新以下内容: 修复问题 解决SQL限流功能的一些Bug。详见社区Bug #96610。 2024-04-11 内核版本升级到5.7.44。 具体修改点同社区版一致,详见社区5.7.44版本发布说明。 安全加固 解决安全漏洞:CVE-2023-22028、CVE-2023-22084、CVE-2023-38545。 2023-12-01 新特性及性能优化 升级到5.7.43版本。 SQL限流功能变化:所有账户当前都会被限流(之前的行为:对root不限流);如需设定不限流的账户请联系客服。 新增information_schema.rds_sql_filter_info,可以查看SQL限流功能的当前并发数和历史拦截数。 修复问题 修复了社区审计日志插件不记录prepare协议语句的问题。 安全加固 解决安全漏洞:CVE-2022-43551、CVE-2023-21912、CVE-2023-21980、CVE-2023-22007、CVE-2023-22015、CVE-2023-22026、CVE-2023-22053。 2023-09-01 5.7.41版本更新以下内容: 新特性及性能优化 优化了SQL限流功能。 优化了jemalloc组件释放内存缓慢,导致OOM的行为。 修复问题 修复了社区审计日志内存泄漏、线程挂住的问题。 修复了社区间隙锁范围过大的问题。 2023-06-28 新特性及性能优化 升级到5.7.41版本。 增加安全编译选项。 修复问题 修复参考表添加索引与另一张表添加外键并发执行时可能出现的复制异常。 修复删除外键表后再删除子表时可能出现的复制异常。 安全加固 解决安全漏洞:CVE-2023-21963、CVE-2022-32221、CVE-2023-21840、CVE-2022-2097、CVE-2022-21617、CVE-2022-21608、CVE-2022-21592、CVE-2022-21589、CVE-2022-1292、CVE-2022-27778、CVE-2018-25032、CVE-2022-21515。 2022-09-09 新特性及性能优化 升级到5.7.38版本。 升级编译器到GCC 10.3。 KILL会话支持per thread连接方式。 慢日志的阈值可考虑等锁耗时。 ALT功能安全加固。 修复问题 增强分布式XA事务主库崩溃恢复安全。 修复开启proxy可能导致的异常重启。 修复插件可能内存申请失败导致的异常重启。 安全加固 解决安全漏洞:CVE-2022-21454、CVE-2022-21417、CVE-2022-21427、CVE-2022-21451、CVE-2022-21444、CVE-2022-21460。 2022-06-01 新特性及性能优化 内核版本升级到5.7.37。 升级编译器到GCC 9.3。 升级openssl、curl开源组件。 修复问题 修复单个超大Binlog可能导致的复制中断问题。 修复slave并发回放grant可能导致的异常重启的问题。 修复隐藏自增键可能导致的复制中断问题。 修复虚拟字段表在ROLLBACK时可能异常重启的问题。 修复加密表在recovery异常重启问题。 修复Seconds Behind Master特定场景不准确问题。 安全加固 解决安全漏洞:CVE-2022-21367、CVE-2022-21304、CVE-2022-21344。 2022-01-26 新特性及性能优化 支持隐藏自增键特性。 修复问题 修复XA事务重复提交可能导致复制异常问题。 修复社区innodb_row_lock_current_waits统计不准确的问题。 2021-11-26 新特性及性能优化 全量SQL放开单条记录长度限制。 RDS for MySQL透明应用连续性(ALT)特性第一期。 修复问题 修复线程池极端场景的内存问题。 修复XA事务备机回放概率性卡住。 2021-08-07 新特性及性能优化 线程池静态连接,提高性能。 开启PGO(Profile-Guided Optimization)编译优化。 优化MySQL HASH算法。 支持数据库添加备注功能。 系统库防止被DDL修改。 在errlog中提供IO延迟信息。 支持minidump。 内核版本升级到5.7.33。 升级openssl,jemalloc,curl开源组件。 修复问题 修复由于回放保序导致备机小概率复制中断的问题。 修复XA事务在binlog rotate后可能异常重启的问题。 修复全量SQL可能存在未记录预编译SQL操作类型的问题。 修复flush privieges操作的executed time统计错误的问题。 修复审计日志错误写入其他文件的问题。 安全加固 解决安全漏洞:CVE-2021-2011、CVE-2021-2178、CVE-2021-2202。 2021-04-13 修复XA事务在数据库异常重启后可能发生丢失的问题。 优化自适应HASH分割算法。 内核版本升级到5.7.32。 2021-01-26 新特性 支持在代理情况下显示真实的客户端地址。 修复问题 全量SQL采集性能优化。 修复revoke权限可能导致主备权限不一致的问题。 回合8.0中对Instant add column的优化。 2020-12-31 性能优化 优化慢日志额外信息的采集效率。 升级编译器至GCC 9。 修复问题 修复XA事务回滚可能会导致备机复制中断问题。 2020-12-01 减少fil_sys互斥锁之间的冲突频率。 2020-11-06 新特性 内存申请编译器优化。 添加utf8优化对非ARM平台的支持。 修复问题 修复微秒计时器中gettimeofday多线程导致计时错误问题。 2020-09-21 内核版本升级到5.7.31。 支持SQL限流,业务高峰期可以限制特定SQL的执行频率。 2020-08-03 优化内核性能。 支持回收站。 增强本地盘清理数据可靠性。 2020-07-09 优化内核性能。 支持在错误日志中记录用户的操作历史。 提高XA事务的稳定性。 2020-06-30 优化内核性能。 支持本地盘磁盘日志切换。 bufferpool内存初始化模块优化,提高初始化效率。 提升ARM上部分操作的线程安全性。 2020-05-30 新特性 支持index hint功能。 支持抓取全量SQL日志。 修复以下问题 修复用户低概率连接数据库失败问题。 2020-04-30 优化内核性能。 2020-03-30 内核版本升级到5.7.29。 优化内核性能。 支持线程池统计IO waits事件。 2020-02-15 复制双通道:新增复制状态通道,准确判断主库崩溃时的复制状态,确保事务不丢失。 Optimized ROW_IMAGE模式:缩减binlog大小,同时支持迁移,SQL闪回等场景。 2019-12-15 DDL操作进度:通过“information_schema.innodb_alter_table_progress”获取添加列或添加索引操作的进度信息。详见DDL进度显示。 长事务:通过show processlist获取事务的执行时间Trx_Executed_Time。 Online扩展string字段长度:扩展varchar类型字段长度从COPY模式默认变为INPLACE模式。详见在线扩展varchar类型字段。 InnoDB死锁信息丰富:通过show engine innodb status可以观察到InnoDB层发生死锁情况时完整的现场信息。 2019-10-15 性能优化 ARM内核版本上线,该内核基于华为云鲲鹏服务器。 新特性 内核版本升级到5.7.27。 快速加列:表可以快速添加列,不拷贝数据,不占用磁盘空间和磁盘IO,业务高峰期可以实时变更。 MDL锁视图:通过“information_schema.metadata_lock_info”获取线程持有或等待的MDL锁信息。详见MDL锁视图。 2019-08-15 Jemalloc内存管理:替换Glibc内存管理模块,降低内存占用,内存分配效率更高效。 2019-06-15 内核版本升级到5.7.25。 2019-05-15 新特性 备库安全极速模式:在备库“sync_binlog”和“innodb_flush_log_at_trx_commit”为非1配置下,保证备库crash safe数据安全。sysbench高并发纯写模式下,主备复制延迟一直基本为0。 修复以下问题 修复“relay_log_recovery ”=“ON”时,特定场景Kill备库后无法重启的问题。 修复“SQL_MODE”为“PAD_CHAR_TO_FULL_LENGTH”时,主备复制异常的问题。 修复“performance_schema”重复统计错误的问题。 修复对“Performance_schema”中关于复制信息的表进行order by查询时,返回为空的问题。 2019-01-15 修复只读执行flush操作后导致主备不一致,复制中断的问题。 修复REPAIR,OPTIMIZE等语句导致备机复制线程卡住问题。 2018-11-15 内核版本升级到5.7.23。 GTID开启时支持事务中创建和删除临时表。 支持表级别MTS并行回放。 2018-07-15 内核版本升级到5.7.22。 支持线程池。详见连接线程池。 支持CTS语法:支持create table xx select语法。 算子下推:聚合算子下推到存储引擎层,提升count(),sum()执行速度。 KILL空闲事务:通过设置超时时间,自动KILL长时间空闲事务。详见主动终止空闲事务。 用户线程内存使用信息、CPU时间使用信息,用户通过show full processlist进行查询。
  • RDS for MySQL 8.0 表1 云数据库 RDS for MySQL 8.0版本说明 日期 特性描述 2024-10-28 8.0.28版本更新以下内容: 修复问题 优化statement outline,支持explain analyze语句。 解决8.0.28.x社区版本死锁问题。 解决SQL限流功能的一些Bug。详见社区Bug #96610。 2024-06-18 8.0.28版本更新以下内容: 修复问题 修复因会话引入LOCK_thd_security_ctx锁,而导致执行SHOW PROCESSLIST语句时可能出现死锁的问题。详见社区Bug#32320541。 2024-05-23 内核版本升级到8.0.32。 新特性及性能优化 MySQL 8.0的动态权限功能允许SUPER用户向其他用户动态授予高级管理权限,例如SESSION_VARIABLES_ADMIN和SYSTEM_VARIABLES_ADMIN等。此版本支持通过内核能力禁用用户为自身赋予可能导致实例异常的危险权限。 对表进行加减列时,默认算法支持由INSTANT更改为INPLACE或COPY算法。 修复问题 具体修改点同社区版一致,详见社区8.0.32版本发布说明。 说明: 如需升级到8.0.32版本,请联系客服申请。 8.0.32版本由于社区引入Instant col特性导致在一些场景下存在性能劣化,详见社区bug111538。 安全加固 解决安全漏洞:CVE-2018-25032、CVE-2021-22570、CVE-2022-21412、CVE-2022-21413、CVE-2022-21414、CVE-2022-21415、CVE-2022-21417、CVE-2022-21418、CVE-2022-21423、CVE-2022-21425、CVE-2022-21427、CVE-2022-21435、CVE-2022-21436、CVE-2022-21437、CVE-2022-21438、CVE-2022-21440、CVE-2022-21444、CVE-2022-21451、CVE-2022-21452、CVE-2022-21455、CVE-2022-21459、CVE-2022-21460、CVE-2022-21462、CVE-2022-21478、CVE-2022-21479、CVE-2022-21509、CVE-2022-21515、CVE-2022-21517、CVE-2022-21522、CVE-2022-21525、CVE-2022-21526、CVE-2022-21527、CVE-2022-21528、CVE-2022-21529、CVE-2022-21530、CVE-2022-21531、CVE-2022-21534、CVE-2022-21537、CVE-2022-21538、CVE-2022-21539、CVE-2022-21547、CVE-2022-21553、CVE-2022-21556、CVE-2022-21569、CVE-2022-21592、CVE-2022-21594、CVE-2022-21599、CVE-2022-21604、CVE-2022-21605、CVE-2022-21607、CVE-2022-21608、CVE-2022-21611、CVE-2022-21617、CVE-2022-21625、CVE-2022-21632、CVE-2022-21633、CVE-2022-21635、CVE-2022-21637、CVE-2022-21638、CVE-2022-21640、CVE-2022-21641、CVE-2022-27778、CVE-2022-32221、CVE-2022-39400、CVE-2022-39402、CVE-2022-39403、CVE-2022-39408、CVE-2022-39410、CVE-2023-21836、CVE-2023-21863、CVE-2023-21864、CVE-2023-21865、CVE-2023-21866、CVE-2023-21867、CVE-2023-21868、CVE-2023-21869、CVE-2023-21870、CVE-2023-21871、CVE-2023-21872、CVE-2023-21873、CVE-2023-21874、CVE-2023-21875、CVE-2023-21876、CVE-2023-21877、CVE-2023-21878、CVE-2023-21879、CVE-2023-21880、CVE-2023-21881、CVE-2023-21882、CVE-2023-21883、CVE-2023-21887、CVE-2023-21912、CVE-2023-21913、CVE-2023-21917、CVE-2023-21963、CVE-2023-22015、CVE-2023-22026、CVE-2023-22028、CVE-2023-22084。 2023-12-01 8.0.28版本更新以下内容: 新特性及性能优化 SQL限流功能变化:所有账户当前都会被限流(之前的行为:对root不限流);如需设定不限流的账户请联系客服。 新增information_schema.rds_sql_filter_info,可以查看SQL限流功能的当前并发数和历史拦截数。 修复问题 修复了社区审计日志插件不记录prepare协议语句的问题。 2023-09-01 内核版本升级到8.0.28。 新特性及性能优化 优化了SQL限流功能。 优化了大文件异步Purge的性能。 修复问题 引入社区更高版本bugfix。 修复了社区并行DDL导致的数据不一致问题。 修复了社区审计日志内存泄漏、线程挂住的问题。 安全加固 解决安全漏洞:CVE-2019-17543、CVE-2020-1971、CVE-2021-22901、CVE-2021-22922、CVE-2021-22923、CVE-2021-22924、CVE-2021-22925、CVE-2021-22926、CVE-2021-22945、CVE-2021-22946、CVE-2021-22947、CVE-2021-2339、CVE-2021-2340、CVE-2021-2342、CVE-2021-2352、CVE-2021-2354、CVE-2021-2356、CVE-2021-2357、CVE-2021-2367、CVE-2021-2370、CVE-2021-2372、CVE-2021-2374、CVE-2021-2383、CVE-2021-2384、CVE-2021-23841、CVE-2021-2385、CVE-2021-2387、CVE-2021-2389、CVE-2021-2390、CVE-2021-2399、CVE-2021-2402、CVE-2021-2410、CVE-2021-2412、CVE-2021-2417、CVE-2021-2418、CVE-2021-2422、CVE-2021-2424、CVE-2021-2425、CVE-2021-2426、CVE-2021-2427、CVE-2021-2429、CVE-2021-2437、CVE-2021-2440、CVE-2021-2441、CVE-2021-2478、CVE-2021-2479、CVE-2021-2481、CVE-2021-3449、CVE-2021-35537、CVE-2021-35546、CVE-2021-35575、CVE-2021-35577、CVE-2021-35583、CVE-2021-35591、CVE-2021-35596、CVE-2021-35602、CVE-2021-35604、CVE-2021-35607、CVE-2021-35610、CVE-2021-35612、CVE-2021-35622、CVE-2021-35623、CVE-2021-35624、CVE-2021-35625、CVE-2021-35626、CVE-2021-35627、CVE-2021-35628、CVE-2021-35629、CVE-2021-35630、CVE-2021-35631、CVE-2021-35632、CVE-2021-35633、CVE-2021-35634、CVE-2021-35635、CVE-2021-35636、CVE-2021-35637、CVE-2021-35638、CVE-2021-35639、CVE-2021-35640、CVE-2021-35641、CVE-2021-35642、CVE-2021-35643、CVE-2021-35644、CVE-2021-35645、CVE-2021-35646、CVE-2021-35647、CVE-2021-35648、CVE-2021-3711、CVE-2022-0778、CVE-2022-21245、CVE-2022-21249、CVE-2022-21253、CVE-2022-21254、CVE-2022-21264、CVE-2022-21265、CVE-2022-21278、CVE-2022-21297、CVE-2022-21301、CVE-2022-21302、CVE-2022-21303、CVE-2022-21304、CVE-2022-21339、CVE-2022-21342、CVE-2022-21344、CVE-2022-21348、CVE-2022-21351、CVE-2022-21352、CVE-2022-21358、CVE-2022-21362、CVE-2022-21367、CVE-2022-21368、CVE-2022-21370、CVE-2022-21372、CVE-2022-21374、CVE-2022-21378、CVE-2022-21595、CVE-2022-21600、CVE-2023-21950。 2023-03-15 8.0.25版本更新以下内容: 新特性及性能优化 优化了超大SQL审计日志的打印。 强化了内核日志打印的安全性。 修复问题 修复并发实例DDL和DML操作可能导致异常重启问题。用户不再有权限赋予connection_admin权限。 2022-09-09 8.0.25版本更新以下内容: 新特性及性能优化 KILL会话支持per thread连接方式。 Performance Schema使用增加内存限制。 优化特定场景下全量SQL的性能。 优化特定场景下internal_tmp_mem_storage_engine为memory引擎的性能问题。 升级编译器到GCC 10.3。 修复问题 修复临时文件写入可能报错的问题。 修复CTE查询返回结果不符合预期的问题。 安全加固 解决安全漏洞:CVE-2021-2417、CVE-2021-2339、CVE-2021-2425、CVE-2021-2426、CVE-2021-2427、CVE-2021-2424、CVE-2021-2383、CVE-2021-2384、CVE-2021-2410。 2022-06-01 新特性及性能优化 内核版本升级到8.0.25。 支持SQL限流。 升级编译器到GCC 9.3。 修复问题 修复单个超大Binlog可能导致的复制中断问题。 修复社区innodb_row_lock_current_waits统计不准确的问题。 修复使用blob字段可能导致的异常重启问题。 安全加固 解决安全漏洞:CVE-2021-2307、CVE-2021-2180、CVE-2021-2194。 2021-08-07 新特性及性能优化 线程池静态连接,提高性能。 开启PGO(Profile-Guided Optimization)编译优化。 优化MySQL HASH算法。 支持数据库添加备注功能。 系统库防止被DDL修改。 添加参数innodb_total_tablespaces用于统计innodb表空间数量。 在i_s中提供innodb锁视图。 升级openssl,jemalloc,curl开源组件。 修复问题 修复XA事务在binlog rotate后可能异常重启的问题。 修复全量SQL未记录预编译SQL操作类型的问题。 修复flush privieges操作的executed time统计错误的问题。 修复审计日志错误写入其他文件的问题。 2021-04-13 修复XA事务在数据库异常重启后可能发生丢失的问题。 优化自适应HASH分割算法。 内核版本升级到8.0.21。 安全加固 解决安全漏洞:CVE-2020-14697、CVE-2020-14680、CVE-2020-14678、CVE-2020-14663、CVE-2021-2020、CVE-2020-14619、CVE-2020-14591、CVE-2020-14576、CVE-2020-14539。 2021-01-26 SQL限流特性性能优化。 全量SQL采集性能优化。 2020-12-31 性能优化 升级编译器到GCC 9。 2020-12-01 性能优化 优化慢日志额外信息的采集效率。 修复以下问题 修复XA事务回滚可能会导致备机复制中断问题。 2020-11-06 修复问题 修复微秒计时器中gettimeofday多线程导致计时错误问题。 2020-09-21 支持在错误日志中记录详细的连接断开信息。 支持index hint功能。 2020-08-03 显示大事务执行时间和等待时间。 为管理用户使用独立的连接控制。 支持SQL限流,业务高峰期可以限制特定SQL的执行频率。 优化内核性能。 2020-06-19 内核版本升级到8.0.20。 优化内核性能。 2020-02-15 RDS for MySQL 8.0版本正式商用。 ARM内核版本上线,该内核基于华为云鲲鹏服务器。 2019-12-15 内核版本升级到8.0.17。 并行创建索引:并行创建索引速度最快提升2.5倍。 2019-10-15 修复“SQL_MODE”为“PAD_CHAR_TO_FULL_LENGTH”时的主备复制异常问题。 2019-09-15 支持线程池。详见连接线程池。 升级Openssl版本至1.1.1a。 支持CTS语法:支持create table xx select语法。 用户线程内存使用信息、CPU时间使用信息,您可以通过show full processlist进行查询。
  • 使用Python SDK 您可以前往开发体验馆 Codelabs / Namespace生命周期代码示例(Python)下载相关代码,并在线调试。 首先需要先生成kubeconfig配置文件,参考cci-iam-authenticator使用参考,使用子命令generate-kubeconfig生成kubeconfig配置文件。 这里的示例代码采用了定期刷新token的方式来防止token过期(缓存值token有效期为24小时),您可以增加获取失败重试的操作,以提升可用性。 定期刷新token的方式不适用于该账号权限发生变更的情形,如果账号权限发生变更(如主账号变更子账号权限,导致子账号权限发生变更),变更前获取的token会失效,需要重新获取 # -*- coding: utf-8 -*- import logging import time import threading from kubernetes import client, config NAMESPACE = "test-k8s-client-namespace" logging.basicConfig( level=logging.INFO, datefmt="%Y-%m-%d %H:%M:%S", format="%(asctime)s %(levelname)s %(message)s", ) def create_namespace(): flavor = "general-computing" pool_size = "10" namespace = client.V1Namespace( metadata=client.V1ObjectMeta( name=NAMESPACE, annotations={ "namespace.kubernetes.io/flavor": flavor, "network.cci.io/warm-pool-size": pool_size, }, labels={ "rbac.authorization.cci.io/enable-k8s-rbac": "false", } ) ) logging.info("start to create namespace %s", NAMESPACE) client.CoreV1Api().create_namespace(namespace) logging.info("namespace created") def create_network(): name = "test-k8s-client-namespace-cn-north-7-default-network" project_id = "{project_id}" domain_id = "{domain_id}" security_group_id = "{security_group_id}" available_zone = "{available_zone}" vpc_id = "{vpc_id}" cidr = "{cidr}" network_id = "{network_id}" subnet_id = "{subnet_id}" body = { "apiVersion": "networking.cci.io/v1beta1", "kind": "Network", "metadata": { "annotations": { "network.alpha.kubernetes.io/default-security-group": security_group_id, "network.alpha.kubernetes.io/domain-id": domain_id, "network.alpha.kubernetes.io/project-id": project_id, }, "name": name, }, "spec": { "availableZone": available_zone, "cidr": cidr, "attachedVPC": vpc_id, "networkID": network_id, "networkType": "underlay_neutron", "subnetID": subnet_id, } } api = client.CustomObjectsApi() logging.info("start to create network") api.create_namespaced_custom_object( group="networking.cci.io", version="v1beta1", namespace=NAMESPACE, plural="networks", body=body, ) logging.info("network created") def create_deployment(): app = "test-k8s-client-deployment" image = "library/nginx:stable-alpine-perl" body = client.V1Deployment( api_version="apps/v1", kind="Deployment", metadata=client.V1ObjectMeta(name=app), spec=client.V1DeploymentSpec( replicas=2, selector={"matchLabels": {"app": app}}, template=client.V1PodTemplateSpec( metadata=client.V1ObjectMeta(labels={"app": app}), spec=client.V1PodSpec( containers=[ client.V1Container( name="container-0", image=image, resources=client.V1ResourceRequirements( requests={"cpu": "500m", "memory": "1024Mi"}, limits={"cpu": "500m", "memory": "1024Mi"}, ), ) ], image_pull_secrets=[ client.V1LocalObjectReference(name="imagepull-secret")], priority=0), ), ) ) logging.info("start to create deployment %s/%s", NAMESPACE, app) client.AppsV1Api().create_namespaced_deployment(NAMESPACE, body) logging.info("deployment created") def get_deployment(): app = "test-k8s-client-deployment" resp = client.AppsV1Api().read_namespaced_deployment(app, NAMESPACE) logging.info("deployment detail: %s", resp) def delete_deployment(): app = "test-k8s-client-deployment" logging.info("start to delete deployment") client.AppsV1Api().delete_namespaced_deployment(app, NAMESPACE) logging.info("deployment deleted") def delete_namespace(): logging.info("start to delete namespace: %s", NAMESPACE) client.CoreV1Api().delete_namespace(NAMESPACE) def main(): # Configs can be set in Configuration class directly or using helper # utility. If no argument provided, the config will be loaded from # default location. path = '{path to kubeconfig}' config.load_kube_config(path) # 因为token有效期为24小时,所以这里设置了一个每12小时获取新的token的定时任务 # 注意:如果账号权限发生变更(如主账号变更子账号权限,导致子账号权限发生变更),变更前获取的token会失效,需要重新获取。 # 另外,您可以增加获取失败重试的操作,以提升可用性 def _refresh(): while True: time.sleep(12 * 3600) try: config.load_kube_config(path) except Exception as e: print("load_kube_config error: %s" % e) t = threading.Thread(target=_refresh) t.daemon = True t.start() create_namespace() create_network() # wait for namespace and network to be active logging.info("waiting for namespace and network to be active") time.sleep(30) create_deployment() get_deployment() delete_deployment() delete_namespace() if __name__ == '__main__': main()
  • 执行命名生成代码 以下命令在linux环境下执行 # 生成vendor文件夹 go mod vendor # 执行构建脚本 chmod 755 hack/update-codegen.sh # hack/update-codegen.sh会执行vendor/k8s.io/code-generator/generate-groups.sh chmod 755 vendor/k8s.io/code-generator/generate-groups.sh ./hack/update-codegen.sh 执行成功后,将会生成代码,目录结构将为 ├── go.mod ├── go.sum ├── hack │ ├── boilerplate.go.txt │ ├── tools.go │ └── update-codegen.sh └── pkg ├── apis │ └── networking.cci.io │ └── v1beta1 │ ├── doc.go │ ├── register.go │ ├── types.go │ └── zz_generated.deepcopy.go └── client └── networking.cci.io └── v1beta1 ├── clientset.go ├── doc.go ├── fake │ ├── clientset_generated.go │ ├── doc.go │ └── register.go ├── scheme │ ├── doc.go │ └── register.go └── typed └── networking.cci.io └── v1beta1 ├── doc.go ├── fake │ ├── doc.go │ ├── fake_network.go │ └── fake_networking.cci.io_client.go ├── generated_expansion.go ├── network.go └── networking.cci.io_client.go
  • 定义CRD资源Network 创建文件夹pkg/apis/networking.cci.io/v1beta1,其中networking.cci.io为CRD资源的group,v1beta1为CRD资源版本 mkdir -p pkg/apis/networking.cci.io/v1beta1 在新建文件夹中新建以下文件: doc.go // +k8s:deepcopy-gen=package // +groupName=networking.cci.io // +groupGoName=NetworkingCCI package v1beta1 types.go package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // NetworkList is a list of network resource in container. type NetworkList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata. // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata // +optional metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items []Network `json:"items" protobuf:"bytes,2,rep,name=items"` } // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object // Network is a network resource in container. type Network struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Spec defines the attributes on a network // +optional Spec NetworkSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` // Status describes the network status // +optional Status NetworkStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` } // NetworkSpec describes the attributes on a network resource. type NetworkSpec struct { // network type NetworkType string `json:"networkType,omitempty" protobuf:"bytes,5,opt,name=networkType"` // ID of the VPC to attach AttachedVPC string `json:"attachedVPC,omitempty" protobuf:"bytes,4,opt,name=attachedVPC"` // network ID NetworkID string `json:"networkID,omitempty" protobuf:"bytes,7,opt,name=networkID"` // Subnet ID SubnetID string `json:"subnetID,omitempty" protobuf:"bytes,8,opt,name=subnetID"` // available zone AvailableZone string `json:"availableZone,omitempty" protobuf:"bytes,9,opt,name=availableZone"` // The CIDR of the network CIDR string `json:"cidr,omitempty" protobuf:"bytes,3,opt,name=cidr"` } // NetworkStatus describes the status of a network type NetworkStatus struct { // State describes the network state // +optional State string `json:"state" protobuf:"bytes,1,opt,name=state"` // Message describes why network is in current state // +optional Message string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"` } const ( // NetworkInitializing means the network is initializing NetworkInitializing = "Initializing" // NetworkPending means the network is processing NetworkPending = "Pending" // NetworkActive means the network is available NetworkActive = "Active" // NetworkFailed means the network is not available NetworkFailed = "Failed" // NetworkTerminating means the network is undergoing graceful termination NetworkTerminating = "Terminating" ) register.go package v1beta1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" ) // GroupName is the group name use in this package const GroupName = "networking.cci.io" // SchemeGroupVersion is group version used to register these objects var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} // Resource takes an unqualified resource and returns a Group qualified GroupResource func Resource(resource string) schema.GroupResource { return SchemeGroupVersion.WithResource(resource).GroupResource() } var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) localSchemeBuilder = &SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme ) // Adds the list of known types to the given scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &Network{}, &NetworkList{}, ) // Add the watch version that applies metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil }
  • 初始化项目 创建项目examples.com/cci-examples。 项目依赖k8s.io/client-go、k8s.io/code-generator,以下版本可供参考 k8s.io/client-go@kubernetes-1.15.0、k8s.io/code-generator@kubernetes-1.15.0 k8s.io/client-go@kubernetes-1.16.0、k8s.io/code-generator@kubernetes-1.16.0 k8s.io/client-go@kubernetes-1.17.0、k8s.io/code-generator@kubernetes-1.17.0 k8s.io/client-go@kubernetes-1.18.0、k8s.io/code-generator@kubernetes-1.18.0 k8s.io/client-go@kubernetes-1.19.0、k8s.io/code-generator@kubernetes-1.19.0 k8s.io/client-go@kubernetes-1.20.0、k8s.io/code-generator@kubernetes-1.20.0 mkdir -p examples.com/cci-examples cd examples.com/cci-examples/ go mod init examples.com/cci-examples go get k8s.io/client-go@kubernetes-1.15.0 go get k8s.io/code-generator@kubernetes-1.15.0
  • FAQ 问:上述代码示例是否存在请求结果返回码为401的情况? 答:一般情况下,如果密码或AK/SK配置无误,client-go提供的定期刷新token的机制(即定期调用cci-iam-authenticator刷新token,具体实现参考https://github.com/kubernetes/client-go/blob/master/plugin/pkg/client/auth/exec/exec.go),能确保token不会因过期而失效(token的有效期为24小时),从而避免请求结果返回码为401。 但当账号权限发生变更时,token可能也会失效,不属于超期失效的情形,在该情形下,仍会出现请求结果返回码为401的情况。
  • 核对资源用量是否与实际相符 假设用户在2023/04/08 10:09:06购买了一个按需计费通用计算型云容器实例(Pod规格:CPU 2核,内存 4GB),并在2023/04/08 12:09:06时刻将其删除。 云容器实例流水账单 按需计费云容器实例按秒计费,每一个小时整点结算一次费用,您可以在流水账单中核对每一个计费周期的信息是否和实际相符,具体如表1所示。 表1 云容器实例流水账单 产品类型 云容器实例 CCI 产品 云容器实例 计费模式 按需 消费时间 2023/04/08 10:09:06 ~ 2023/04/08 12:09:06时段计费系统将生成3笔流水账单,对应每一个计费周期,分别如下: 2023/04/08 10:09:06 ~ 2023/04/08 11:00:00 2023/04/08 11:00:00 ~ 2023/04/08 12:00:00 2023/04/08 12:00:00 ~ 2023/04/08 12:09:06 官网价 官网价=使用时长*单价*Core+使用时长*单价*GB 本例中,在第一个计费周期内云容器实例的使用量为3054秒,单价可在云容器实例价格详情中查询,以Pod规格CPU为2核、内存为4GB为例,此Pod价格为0.0001225/Pod/秒,CPU为2核,内存为4GB,那么官网价=3054 * 0.0001225= 0.374115元。同理,您可以计算剩余计费周期内资源的官网价。 优惠金额 用户使用云服务享受折扣优惠如商务折扣、伙伴授予折扣以及促销优惠等减免的金额。基于官网价的优惠金额。 抹零金额 华为云产品 定价精度为小数点后8位(单位:元),因此在计费过程中会产生小数点后8位的资源使用费用。而在实际扣费时,仅扣除到小数点后2位,小数点后第3位到第8位部分金额会被舍弃,这种舍弃部分的金额称作抹零金额。 以第一个计费周期为例,抹零金额为:0.004115 元 应付金额 应付金额=官网价-优惠金额-抹零金额 以第一个计费周期为例,假设优惠金额为0,那么应付金额=0.374115 - 0 - 0.004115 = 0.37 元 云容器实例明细账单 明细账单可以通过多维度展示客户账单的详细信息。一般通过设置统计维度为“按使用量”,统计周期为“按账期”来统计资源在某个月份的总开销,建议您核对表2所示的信息是否和实际相符。 表2 云容器实例明细账单 产品类型 云容器实例 CCI 产品 云容器实例 计费模式 按需 资源名称/ID 云容器实例的名称和ID 例如:cci-272f,4cdeb1cd-7071-4890-9ce4-e6c2299e960e 规格 云容器实例的类型和规格 本例为通用计算型,(Pod规格:CPU 2核,内存 4GB) 使用量类型 按需计费云容器实例的使用量类型为“时长” 单价 按需计费模式为简单 定价 (使用量*单价)时提供单价信息,其他的定价(如EIP公网带宽的阶梯定价)等不提供单价。 按需计费云容器实例属于简单定价,您可以在云容器实例价格详情中查询单价。 单价单位 在云容器实例价格详情中查询到的单价单位:元/Pod/秒 使用量 按产品单价单位显示使用量,云容器实例的单价单位为元/Pod/秒,因此使用量以小时为单位。本例中,2023/04/08 10:09:06 ~ 2023/04/08 12:09:06时段总计使用量为2小时。 使用量单位 小时 官网价 官网价=使用量*单价*容量 本例中,使用量为2小时,单价可在云容器实例价格详情中查询,以0.0001225元/Pod/秒为例,(Pod规格:CPU 2核,内存 4GB),那么官网价=2 * 0.0001225 * 60 * 60 = 0.882 元。 优惠金额 用户使用云服务享受折扣优惠如商务折扣、伙伴授予折扣以及促销优惠等减免的金额。基于官网价的优惠金额。 应付金额 用户使用云服务享受折扣优惠后需要支付的费用金额。
  • 计费构成分析 可以将云容器实例的使用阶段按照规格分为两段: 在2023/03/18 15:30:00 ~ 2023/03/20 9:00:00期间按照Pod规格:CPU 2核,内存 4GB计费,计费时长为41.5小时,费用计算如下: 在2023/03/20 9:00:00 ~ 2023/03/31 23:59:59期间按照Pod规格:CPU 4核,内存 8GB计费,计费时长为279小时,费用计算如下: 由此可见,在3月份,该云容器实例总共产生的费用为: 第一段时间产生费用:0.0001225*41.5*60*60=18.301元 第二段时间产生费用:0.000245*279*60*60=246.078元 总共产生费用:18.301+246.078=264.379元
  • 计费说明 云容器实例的计费项由Pod规格组成。具体内容如表1所示。 表1 云容器实例计费项 Pod规格计费项 计费项说明 适用的计费模式 计费公式 通用计算型 计费因子:CPU和内存,不同规格的实例类型提供不同的计算和存储能力 按需计费 CPU:Core数量 * Core单价 * 计费时长 内存:GB数量 * GB单价 * 计费时长 请参见云容器实例价格详情中的“价格详情”。 GPU加速型 计费因子:CPU、内存和GPU,不同规格的实例类型提供不同的计算、存储、GPU加速能力 按需计费 CPU:Core数量 * Core单价 * 计费时长 内存:GB数量 * GB单价 * 计费时长 GPU:GPU数量 * GPU单价 * 计费时长 请参见云容器实例价格详情中的“价格详情”。
  • 资源包抵扣顺序规则 当购买了多个相同属性的资源包,会按照资源包过期时间顺序进行抵扣,优先抵扣过期时间近的资源包。 场景示例: 某客户分别购买了两个华北-北京四区域的资源套餐包: 资源包A:CPU规格1,000 核*时,2022年10月1日生效,购买时长1年,即2023年10月1日过期。 资源包B:CPU规格10,000 核*时,2022年11月1日生效,购买时长1年,即2023年11月1日过期。 表2 资源包抵扣顺序示例 时间 抵扣顺序 2022年10月1日~2022年10月31日 只有资源包A生效。 使用资源包A抵扣,超出CPU规格1,000 核*时,部分按需计费。 2022年11月1日~2023年10月1日 资源包A、B同时生效,叠加使用。 优先使用资源包A抵扣,超出CPU规格1,000 核*时部分使用资源包B抵扣,超出CPU规格10,000 核*时部分按需计费。 2023年10月1日~2023年11月1日 资源包A过期,只有资源包B生效。 使用资源包B抵扣,超出CPU规格10,000 核*时部分按需计费。 2023年11月1日~ 资源包A、B均已过期,此时为按需计费。
  • 变更配置后对计费的影响 如果您在购买按需计费实例后变更了Pod配置,会产生一个新订单并开始按新配置的价格计费,旧订单自动失效。 如果您在一个小时内变更了Pod配置,将会产生多条计费信息。每条计费信息的开始时间和结束时间对应不同配置在该小时内的生效时间。 例如,您在9:00:00购买了一台按需计费Pod,Pod规格为CPU 2核,内存 4GB,并在9:30:00升配为CPU 4核,内存 8GB,那么在9:00:00 ~ 10:00:00间会产生两条计费信息。 第一条对应9:00:00 ~ 9:30:00,Pod规格按照CPU 2核,内存 4GB计费。 第二条对应9:30:00 ~ 10:00:00,Pod规格按照CPU 4核,内存 8GB计费。
  • 计费示例 假设您在2023/04/18 9:59:30购买了一台按需计费通用计算型云容器实例(Pod规格:CPU 2核,内存 4GB),计费资源包括CPU和内存,然后在2023/04/18 10:45:46将其删除,则: 第一个计费周期为9:00:00 ~ 10:00:00,在9:59:30 ~ 10:00:00间产生费用,该计费周期内的计费时长为30秒。 第二个计费周期为10:00:00 ~ 11:00:00,在10:00:00 ~ 10:45:46间产生费用,该计费周期内的计费时长为2746秒。 您需要为每个计费周期付费,各项CCI资源单独计费,计费公式如表2所示。产品价格详情中标出了资源的每秒价格。 表2 计费公式 Pod规格类型 计费公式 资源单价 CPU Core数量 * Core单价 * 计费时长 请参见云容器实例价格详情中的“价格详情”。 内存 GB数量 * GB单价 * 计费时长 请参见云容器实例价格详情中的“价格详情”。
  • 计费周期 按需计费CCI资源按秒计费,每一个小时整点结算一次费用(以UTC+8时间为准),结算完毕后进入新的计费周期。计费的起点以CCI实例创建成功的时间点为准,终点以实例删除时间为准。 例如,您在8:45:30购买了一台按需计费的通用计算型云容器实例,相关资源包括CPU和内存,然后在8:55:30将其删除,则计费周期为8:00:00 ~ 9:00:00,在8:45:30 ~ 8:55:30间产生费用,该计费周期内的计费时长为600秒。
  • 计费模式概述 云容器实例提供计费模式分为按需计费和套餐包计费两种方式。 按需计费,按需计费一种后付费模式,即先使用再付费,以实例为单位,采用按量付费的计费模式,秒级计费,按小时结算。 套餐包计费,允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。一般适用于电商抢购等设备需求量瞬间大幅波动的场景。 表1 按需计费模式 计费模式 按需计费 套餐包 付费方式 后付费 按照实例实际使用时长计费。 预付费 按照订单购买的套餐包计费。 计费周期 秒级计费,按小时结算。 按订单购买的套餐包周期计费。 适用计费项 Pod规格包含CPU、内存和GPU。 套餐包分为CPU套餐包和内存套餐包。 变更计费模式 支持变更为套餐包计费模式。 套餐包即买即用,不支持在套餐包未使用完变更计费模式。套餐包使用完后将自动变更为按需计费模式。 变更规格 支持变更Pod规格。 支持变更Pod规格。 适用场景 适用于计算资源需求波动的场景,可以随时开通,随时删除。 一般适用于电商抢购等设备需求量瞬间大幅波动的场景。 父主题: 计费模式
共100000条