华为云用户手册

  • 操作场景 为了保证数据的完整性,以及降低对原实例的性能影响,会进行库表级时间点恢复。库表级恢复是为选择的某个库表恢复到指定时间点。在进行库表级时间点恢复备份时,会从OBS备份空间中选择一个该时间点最近的全量备份下载至临时实例上进行全量恢复,然后在临时实例上重放Binlog到指定时间点,完成之后将对应表的数据回写到原实例的目标表,恢复时长和实例的数据量有关,平均恢复速率为35MB/s。 由于需要对实例的所有数据进行备份及恢复操作,对于数据量较大的实例,所需时间较长,请耐心等待。通过库表级时间点恢复备份,将不会导致实例数据被覆盖,您可以根据需要恢复库表。 RDS for MySQL支持恢复单个实例的库表数据,以及批量恢复多个实例的库表数据。
  • 使用限制 普通表级时间点恢复或极速表级时间点恢复带外键的表,会将外键表的外键删除,同时更改表结构。 表级时间点恢复,单个实例一次最多恢复2000张表。 库级时间点恢复,单个实例一次最多恢复1000个库,一次最多恢复20000张表。 批量恢复多个实例的库表数据,必须选择同版本RDS for MySQ L实例 ,且实例状态必须为“正常”。 一次性最多可以选择20个实例进行批量库表级时间点恢复。 RDS for MySQL库表级时间点恢复期间不允许主备实例和只读实例做规格变更,重启,删除等操作。 进行库表级时间点恢复时,要恢复的库、表信息是在所选时间点前最新一次全量备份中读取的。由于所选时间点可以是恢复时间区间内的任意时间点,所以库表级时间点恢复支持恢复到存在指定库、表信息的最早的一次全量备份时间点。 如果选择恢复的时间点不存在该表,则该表不会被恢复。 表级时间点恢复,不支持恢复视图。建议先恢复出视图所涉及的表,然后重新创建视图。 库级时间点恢复,只恢复库里面的表数据。恢复出来的新库,不包含视图。 如果数据库实例超过2万张表,出于性能考虑,服务不会采集历史时间点的库表元数据信息,会从当前实例查找库表信息进行恢复。如果界面没有显示目标库表,而用户确认指定时间的库表存在,用户可以自行创建同名的空库表再进行库表恢复。 库级恢复中,原库下的表名不能有特殊字符 . 或中文,否则可能导致恢复任务失败。
  • 操作场景 长期使用同一个密码会增加被暴力破解和恶意猜测的风险,密码的安全策略即为限制用户使用同一个密码的时间,从而降低了暴力破解的风险。 RDS for MySQL的密码过期策略支持通过以下两种方式设置: 通过数据库参数设置密码过期策略:MySQL 5.7和8.0版本支持通过设置全局变量“default_password_lifetime”来控制用户密码的默认过期时间。 通过DAS设置密码过期策略:可以针对不同的用户配置不同密码过期策略。
  • 操作场景 透明 数据加密 (Transparent Data Encryption,简称TDE),对数据文件执行实时I/O加密和解密,数据在写入磁盘之前进行加密,从磁盘读入内存时进行解密,能有效保护数据库及数据文件的安全。 TDE主要应对以下的场景: 硬盘被盗导致数据泄露。 黑客入侵系统进行文件复制导致数据泄露。在没有启用TDE的情况下,只要获得了数据库文件,即可直接浏览数据库中的所有内容,但如果在数据库上启用了TDE,整个数据被安全加密;没有密钥就不能访问到数据。
  • 加密或解密表 请确保已成功开启实例级别的TDE加密功能。 开启TDE后,常用数据库工具仍能正常使用。 由于查询表数据时会解密并读取到内存中,因此查询加密的数据时结果仍是明文数据。开启TDE后,备份文件是加密后的密文数据,可以防止备份泄漏导致数据泄漏。 连接目标实例。 执行如下命令对表进行加密或解密,tablename 为需要加密或解密的表名。 加密 alter table tablename encryption='Y'; 解密 alter table tablename encryption='N';
  • 操作场景 云数据库RDS服务支持切换主备实例的数据同步方式,以满足不同业务需求。可选择 “异步”或者“半同步”两种方式。 异步: 应用更新数据时,主库执行完操作后立即向应用返回响应,通常具有较高的性能。 半同步(默认选择): 应用更新数据时,主库需要等待备库收到日志才向应用返回响应,对性能有影响。 半同步方式下,如果备库异常,会导致主库等待备库响应数秒钟,在此期间会阻塞主库对业务写操作的响应,直至出现下列场景: 如果备库恢复正常,则主库恢复对业务写操作的响应。 如果备库等待时间段内没有恢复正常,实例会自动切换为异步方式,切换完毕后主库恢复对写操作的响应。
  • 服务端加密简介 云数据库RDS服务的管理控制台目前支持数据加密服务(Data Encryption Workshop,简称DEW)托管密钥的服务端加密,即使用数据加密服务提供的密钥进行服务端加密。 数据加密服务通过使用硬件安全模块 (Hardware Security Module,简称HSM) 保护密钥安全的托管,帮助用户轻松创建和控制加密密钥。用户密钥不会明文出现在硬件安全模块之外,避免密钥泄露。对密钥的所有操作都会进行访问控制及日志跟踪,提供所有密钥的使用记录,满足监督和合规性要求。 当启用服务端加密功能后,用户创建实例和扩容磁盘时,磁盘数据会在服务端加密成密文后存储。用户下载加密对象时,存储的密文会先在服务端解密为明文,再提供给用户。
  • 计费说明 表1 计费说明 计费模式 变更操作 对费用的影响 包年/包月 单机转主备 单机转主备后,结合使用周期内的剩余时间,补交差价。 例如:(以下价格仅作示例,实际价格以控制台显示为准) 客户于2023/6/1在华北-北京四购买规格为通用型 2vCPUs 8GB的RDS for MySQL 5.7单机实例,SSD云盘存储,存储空间40GB,购买周期为一个月。此时实例价格为230元/月。 客户在2023/6/15将单机转主备,实例价格为584元/月。 补交费用 = 主备价格 x 剩余周期 - 单机价格 x 剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。 本示例中,剩余周期=15(6月份剩余未使用天数)/ 30(6月份最大天数)= 0.5,代入公式可得补交费用 = 584 x 0.5 - 230 x 0.5 = 177元 按需计费 单机转主备 单机转主备后按小时计费。具体请参见产品价格详情。
  • 操作场景 云数据库RDS for MySQL支持单个按需实例转为包周期(包年/包月)实例,也支持批量按需实例转为包周期实例。由于按需资源费用较高,需要长期使用资源的按需用户可以选择对按需资源进行转包周期,继续使用这些资源的同时,享受包周期的优惠资费。 运行状态为冻结、创建失败、规格变更中、扩容中的实例不支持按需实例转包周期。 专属云RDS目前仅支持按需计费。 按需实例转包周期不会影响业务。 除华北-乌兰察布一外的其他区域均支持按需实例转包周期。华北-乌兰察布一区域可联系客服开通该功能。 主实例按需转包周期时,如果主实例下创建了按需计费的数据库代理,那么数据库代理也会同步转包周期,该功能目前仅支持华南-广州、华东-上海一、中国-香港区域。如果主实例下的代理不支持转包周期,主实例也不支持按需转包周期。
  • 约束限制 恢复中的实例,不可进行该操作。 只能在主库进行数据库管理,比如授权、创建账号等操作。 数据库管理功能目前仅支持MySQL引擎。 使用SQL语句创建数据库时,建议使用要授权的用户登录后再进行数据库创建。 目前不支持创建同名数据库。 数据库创建完成后不支持修改库名。 除RDS界面和API以外的其他方式创建的数据库和账号,也会展示在RDS界面。如果创建的数据库名和账号名不满足数据库命名规则和帐号命名规则,例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则和帐号命名规则,迁移到目标库RDS for MySQL后,该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。
  • 限制条件 恢复中的实例,不可进行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,也会展示在RDS界面。如果创建的数据库名和账号名不满足数据库命名规则和帐号命名规则,例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则和帐号命名规则,迁移到目标库RDS for MySQL后,该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。
  • 限制条件 恢复中的实例,不可进行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,也会展示在RDS界面。如果创建的数据库名和账号名不满足数据库命名规则和帐号命名规则,例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则和帐号命名规则,迁移到目标库RDS for MySQL后,该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。
  • 限制条件 恢复中的实例,不可进行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,也会展示在RDS界面。如果创建的数据库名和账号名不满足数据库命名规则和帐号命名规则,例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则和帐号命名规则,迁移到目标库RDS for MySQL后,该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。
  • 限制条件 恢复中的实例,不可进行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,也会展示在RDS界面。如果创建的数据库名和账号名不满足数据库命名规则和帐号命名规则,例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则和帐号命名规则,迁移到目标库RDS for MySQL后,该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。
  • 限制条件 恢复中的实例,不可进行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,也会展示在RDS界面。如果创建的数据库名和账号名不满足数据库命名规则和帐号命名规则,例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则和帐号命名规则,迁移到目标库RDS for MySQL后,该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。
  • 限制条件 恢复中的实例,不可进行该操作。 除RDS界面和API以外的其他方式创建的数据库和账号,也会展示在RDS界面。如果创建的数据库名和账号名不满足数据库命名规则和帐号命名规则,例如包含中文或不支持的特殊字符,那么该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。 如果源库的数据库名和账号名不满足数据库命名规则和帐号命名规则,迁移到目标库RDS for MySQL后,该数据库和账号不支持RDS界面或API的数据库管理和账号管理功能。
  • 账号类型 表1 账号说明 账号类型 说明 管理员账号root 创建实例页面只提供管理员root账户,支持的权限请参见RDS for MySQL约束与限制。 说明: 建议用户谨慎对root账户执行revoke、drop user、rename user操作,避免影响业务正常使用。 系统账户 创建RDS for MySQL数据库实例时,系统会自动为实例创建如下系统账户(用户不可使用),用于给数据库实例提供完善的后台运维管理服务。 rdsAdmin:管理账户,拥有最高权限,用于查询和修改实例信息、故障排查、迁移、恢复等操作。 rdsRepl:复制账户,用于备实例或只读实例在主实例上同步数据。 rdsBackup:备份账户,用于后台的备份。 rdsMetric:指标监控账户,用于watchdog采集数据库状态数据。 rdsProxy:数据库代理账户,该账户在 开通读写分离 时才会自动创建,用于通过读写分离地址连接数据库时鉴权使用。 其他账号 在控制台、API或SQL语句中创建的账号。 创建后可以自行设置权限,请参见修改数据库账号权限。
  • 通过DRS升级大版本 RDS for MySQL支持通过DRS将RDS for MySQL 5.6版本数据迁移到5.7版本。使用该方式进行大版本升级,需要提前准备好待迁移到的高版本数据库实例。 您可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“迁移数据库”,进入 数据复制服务 信息页面。 具体迁移操作,请参见《数据复制服务用户指南》的“入云迁移”内容。 表3 MySQL数据库版本信息 源数据库版本 目标数据库版本 迁移类型 RDS for MySQL/自建MySQL/其他云MySQL 5.5.x 5.6.x 5.7.x 8.0.x RDS for MySQL 5.6.x 5.7.x 8.0.x MySQL数据库版本升级 DRS仅支持从低版本迁移到高版本。
  • 升级检查项及升级失败的修复建议 表1 升级检查项及修复建议 检查项 检查内容 修复建议 utf8mb3Check 检查字符集utf8mb3。 MySQL 5.7中,字符集utf8等同于utf8mb3, MySQL 8.0中,字符集utf8等同于utf8mb4, 请注意升级后如果使用utf8创建表格,相当于使用字符集utf8mb4。 用户无需处理该项检查。 removedSysVars 检查已移除的系统参数。 系统参数在MySQL 8.0中已删除。 该检查项不影响升级,用户无需处理。 sysVarsNewDefaults 检查系统参数默认值变化。 系统参数在MySQL 8.0中的默认值发生变化,如果您修改过该参数的值,升级后保留修改后的值,如果未修改过,将采用新的默认值。 该检查项不影响升级,用户无需处理。 zeroDatesCheck 检查使用了零日期、日期时间和时间戳。 MySQL 8.0.16及以后版本,将零值日期(例:“2024-00-00”)作为查询条件时,MySQL将该字符串转换为DATE,如果转换失败,该查询将报错。 该检查项不影响升级,但影响升级后的查询逻辑。用户无需处理global.sql_mode的报错,建议排查是否存在此类值,如果存在,修改为非零值。 enumSetElementLenghtCheck 检查ENUM/SET列元素长度。 元素长度大于255个字符,请修改到不超过255个字符。 reservedKeywordsCheck 检查保留字。 与MySQL 8.0中的保留字冲突,请修改名字。 mysqlDollarSignNameCheck 检查$符号。 数据库对象名包含“$”,请修改。 mysqlInvalid57NamesCheck 检查非法库名/表名/列名等。 包含非法名字,请修改。 groupByAscCheck 检查group by ASC/DESC语法。 MySQL 8.0移除了GROUP BY ASC/DESC语法,请修改数据库对象,可将ASC/DESC关键字从 GROUP BY子句中移除,并放置在适当的ORDER BY子句中。 checkTableOutput 通过"check table x for upgrade"检查表存在的问题。 根据检查结果中的“说明”进行修复。 engineMixupCheck 检查 InnoDB 识别了属于其他引擎的表的情况。 表格被 InnoDB引擎识别,但 SQL 层认为它们属于另一个引擎,请联系客服解决。 foreignKeyLengthCheck 检查外键约束名长度。 外键约束名长度不得超过64个字符,请修改。 nonNativePartitioningCheck 检查使用了非本地分区引擎的分区表的情况。 MySQL 8.0仅支持InnoDB 和 NDB作分区表引擎,请转换为InnoDB引擎,或删除其分区。 routinesSyntaxCheck 检查语法不兼容的情况。 存储过程、函数等数据库对象的定义包含了不兼容的语法,例如与MySQL8.0中的保留字冲突,请根据检查结果中的“说明”做修改。 maxdbFlagCheck 检查是否使用了过时的 MAXDB sql_mode标志。 MySQL 8.0删除了sql_mode中的MAXDB选项,请修改sql_mode参数,不使用MAXDB。 sqlModeFlagCheck 检查是否使用了过时的sql_mode标志。 MySQL 8.0删除了部分sql_mode标志,请根据检查结果中的“说明”,修改sql_mode参数。 removedSysLogVars 检查已移除的系统日志系统参数。 MySQL 8.0移除了部分系统日志系统参数,请知悉。 用户无需处理该项检查结果。 mysqlIndexTooLargeCheck 检查索引长度。 MySQL 5.7和MySQL 8.0都支持相同长度的索引,最大索引长度为767字节,在MySQL 8.0 utf8mb4编码下,最大支持191个字符;请修改索引长度至不超过191个字符。 circularDirectoryCheck 检查表空间数据文件路径使用循环目录。 目标版本不支持表空间在数据文件路径中包含循环目录引用(例如“/../”),请联系客服处理。 columnsWhichCannotHaveDefaultsCheck 检查列默认值。 BLOB、TEXT、GEOMETRY或JSON等类型的列不允许设置默认值,请通过ALTER TABLE语句删除默认值。 removedFunctionsCheck 检查已移除的函数。 目标版本删除了部分函数,请根据检查结果中的“说明”,修改相应数据库对象。 mysqlOrphanedRoutinesCheck 检查孤立的存储过程或函数等。 孤立的存储过程或函数等指其引用的数据库对象已不存在,无法运行,请删除。 mysqlEmptyDotTableSyntaxCheck 检查废弃的标识符。 请根据检查结果中的“说明”,修改对应数据库对象中的标识符。 mysqlSchemaCheck 检查表名冲突。 MySQL8.0新增部分表,请通过RENAME TABLE语句修改存在冲突的表名。 mysqlInvalidEngineForeignKeyCheck 检查外键约束指向其他引擎的表。 请通过ALTER TABLE语句修改引擎,或删除外键引用。 lowerCaseNameCheck 检查参数lower_case_table_names=1时,是否存在大写表名 参数lower_case_table_names=1时,如果存在大写表名,将导致升级失败;请先修改lower_case_table_names=0,通过RENAME TABLE语句将检查结果中的大写表名修改为小写,再将lower_case_table_names的值修改回1。 specVarInConfigFileCheck 检查配置文件中 sql_mode、loose_tls_version 是否有过时的值。 目标版本移除了部分sql_mode标志,MySQL8.0.28及其以上,loose_tls_version参数不支持TLSv1和TLSv1.1,请根据检查结果修改sql_mode或loose_tls_version参数的值。 reversedUserCheck 检查是否创建了创建 mysql.infoschema@localhost。 MySQL8.0内置mysql.infoschema@localhost账号,如MySQL5.7存在此账号,将导致升级失败,升级前请删除该账号。 schemaInconsistencyCheck 检查表文件移除或损坏导致的数据库结构不一致问题。 表文件.frm缺失,请联系客服处理。 geometryIndexCheck 检查空间坐标作为索引时是否为空间索引。 目标版本中,空间坐标作索引时必须为空间索引,请重建索引或删除索引。 danglingIndexCheck 检查是否存在空悬索引。 全文索引列删除导致FTS_DOC_ID空悬的表,需要进行 OPTIMIZE TABLE修复。 viewColumnCheck 检查视图列名长度。 目标版本中视图列名长度不可超过64个字符,请通过ALTER VIEW语句修改列名。 partitionedTablesInSharedTablespaceCheck 检查分区表是否在共享表空间。 目标版本不支持共享表空间,请通过ALTER TABLE语句将它们移动到独立表空间。 partitionsReferencedCheck 检查分区表是否被普通表通过外键引用。 分区表不可被普通表引用,请删除外键引用。 partitionsRangeDateCheck 检查按时间分区的分区表。 MySQL 8.0按时间分区时,时间列内容要求是标准的格式(例如:'YYYY-MM-DD hh:mm:ss' 或 'YY-MM-DD hh:mm:ss'),并修改相应表中时间数值为标准格式。 表2 升级失败的修复建议 问题描述 影响 修复建议 RDS for MySQL 5.7升级到8.0后,由于默认字符集变更,导致执行部分SQL时索引失效。 5.7默认使用UTF8mb3字符集,8.0默认使用UTF8mb4字符集。 5.7版本使用默认字符集建表,在升级过程中,字符集不会自动变更为8.0版本默认字符集,若用户在内核升级到8.0后建表,同时对两张字符集不同的表进行JOIN等操作,影响SQL执行时索引选择,最终导致SQL执行时间变长。 修改8.0的库、表、字段字符集、以及默认字符集,与5.7的字符集一致。 RDS for MySQL 5.7升级到8.0过程中,删除了全文索引,可能会导致升级失败。 可能会导致升级失败。 执行optimize table重建表;并排查空悬FTS_DOC_ID,详见表1。 RDS for MySQL 5.7升级到8.0过程中,由于含有分区表外键约束(通过参数foreign_key_check设置),导致升级失败。 导致升级失败。 移除该外键约束。 5.7版本中含有definer列为空的“mysql.events”表,会导致RDS for MySQL 5.7升级到8.0失败。 导致升级失败。 将definer列设置为非空。 RDS for MySQL 5.7升级到8.0过程中,Server层和InnoDB层列名大小写不匹配导致升级失败。 导致升级失败。 执行optimize table重建表。 RDS for MySQL 5.7升级到8.0过程中,索引中包含的字段在Server层和InnoDB层中大小写不一致导致升级失败。 导致升级失败。 执行optimize table重建表。 使用8.0不支持的“BTREE SPATIAL INDEX”,会导致RDS for MySQL 5.7升级到8.0失败。 导致升级失败。 删除“BTREE SPATIAL INDEX”索引。
  • 注意事项 下发RDS for MySQL 5.7升级至8.0前,需进行预检查,请注意以下内容: 预检查耗时与表数量相关,请您尽量在业务低峰期执行。 检查报告保留24小时,请及时下载。 “检查参数”项失败时,请根据检查详情中的检查项,对照表1进行修复,级别为error的检查项,必须修复才可升级,级别为warning的检查项,请知悉升级前后该内核特性的变化。 修复后需单击“重新检查”,获取新的检查结果。 只能从5.7的最新小版本升级到8.0的最新小版本。请先确认5.7版本已经是最新小版本,才能继续大版本升级。 大版本升级操作建议避开执行备份的时间窗。 升级大版本前建议先做一次全量备份。 升级数据库大版本过程将造成约10~120秒的业务中断,请确保您的应用有自动重连机制。请在业务低峰期执行该操作,在业务高峰期执行会导致升级时长变长。 升级主实例大版本时,如有只读实例,也会同步升级只读实例的大版本(不支持单独升级只读实例的大版本)。 升级大版本后,实例会升级到新的内核大版本,不支持降级。 请务必仔细对比升级前后版本差异,建议您新建一个RDS for MySQL 5.7或8.0版本实例进行语法测试,避免应用使用的低版本语法或特性在升级高版本后不支持。 建议您将原实例数据恢复到新实例上面,先使用新实例进行升级测试,确认各项功能正常后再升级原实例。 内核大版本升级期间,自动扩容不生效,需要确保实例预留了足够的空间支撑升级过程中的业务写入。 大版本升级定时任务需预准备,设置后不可取消。 升级大版本后,升级前的备份将不可用于新版本实例,时间点恢复功能将不能选择升级前的时间点。 大版本升级过程中禁止event的DDL操作,如create event、drop event和alter event。 大版本升级后,规格参数会恢复到升级版本的默认值,包括以下参数:threadpool_size、innodb_buffer_pool_size、innodb_io_capacity、innodb_io_capacity_max、innodb_buffer_pool_instances、back_log、max_connections。 5.7版本和8.0版本实例存在相同参数取值范围不一样的情况,例如参数“max_execution_time”如果在5.7版本中设置为小于60000,大版本升级后将恢复成默认值0,这是因为8.0版本该参数最小值只能为60000。
  • 约束限制 有关内核版本详情,请参见内核版本说明。 对于主备实例,复制延迟大于300秒无法升级大版本。 实例中存在异常节点,无法升级大版本。 MySQL 5.7及之后版本不再支持Sequence Engine,升级前请确认。 目前RDS for MySQL实例最大可支持50万张表(系统表+数据表),大于50万张表时,会导致大版本升级失败。 云数据库RDS for MySQL暂不支持已开启事件定时器功能的实例升级大版本,若您想使用该功能,请先关闭事件定时器。具体操作请参考开启或关闭事件定时器。 升级到8.0版本后,主实例和只读实例会共用SQL限流规则,为避免主实例SQL限流规则对只读业务造成影响,请在升级前审视调整主实例SQL限流规则、以及主实例和只读实例的SQL限流开关。 以下场景不支持RDS for MySQL 5.7升级至8.0: 不支持已绑定DDM或已开通数据库代理的RDS for MySQL实例进行升级。 不支持单机、本地盘、集群版实例进行升级。 主实例下的只读实例带有SQL限流规则时,不支持升级,请在升级前删除只读的限流规则。
  • 注意事项 当有对应的小版本更新时(定期同步开源社区问题、漏洞修复),请及时手动立即升级或者设置可维护时间段升级小版本。 升级数据库内核小版本会重启RDS for MySQL实例,服务可能会出现闪断,请您尽量在业务低峰期执行该操作,或确保您的应用有自动重连机制。 升级内核小版本期间,除了主备切换时的网络闪断外,由于主备之间默认是半同步复制,升级过程中会有两次单条SQL持续最长十秒的更新及写入等待,用户可通过修改主备间的复制模式为异步来规避此场景。 如果主备实例在同一个AZ,升级内核小版本会触发一次主备倒换;如果主备实例在不同AZ,则会触发两次主备倒换。 升级主实例小版本时,如有只读实例,也会同步升级只读实例的小版本,升级完成会重启实例,请您选择合适的时间升级(不支持单独升级只读实例的小版本)。 升级内核小版本时,如果RDS实例为DRS任务的源端,DRS可能会拉取不到RDS实例的日志;如果RDS实例为DRS任务的目标端,DRS可能会写不进目标库。 建议您在升级内核小版本前先确认RDS实例Binlog的保留时间: 如果Binlog在保留时间内,待内核小版本升级完成后,DRS任务会自动重启。 如果Binlog不在保留时间内,您需要重新配置或创建DRS任务。 升级内核小版本后,实例会升级到新的内核小版本,无法降级。如果升级失败,将会自动回退到原版本。 升级小版本前建议先做一次全量备份。 升级内核小版本一般是分钟级完成。 小版本升级过程中禁止event的DDL操作,如create event、drop event和alter event。 如果小版本升级时,界面提示主节点存在DDL操作,可通过如下方式处理: 将实例STATUS为SLAVESIDE_DISABLED状态的event,更改为ENABLED或者DISABLED状态后再进行升级。 删除SLAVESIDE_DISABLED状态的event后再进行升级。
  • 约束条件 对于主备实例,复制延迟大于300秒无法升级小版本。 升级主备实例时,升级顺序依次是备实例、主实例。 实例中存在异常节点,无法升级小版本。 云数据库RDS for MySQL暂不支持已开启事件定时器功能的实例升级内核小版本,若您想使用该功能,请先关闭事件定时器。具体操作请参考开启或关闭事件定时器。 8.0.28及以上的内核版本,不支持设置TLSv1.1,可以通过参数“loose_tls_version”修改TLS版本。
  • 后续操作 返回实例列表,在左侧导航栏,选择“任务中心”,查看版本升级任务的执行进度。 对于升级方式为“立即升级”的任务: 在“即时任务”页签,搜索“MySQL实例版本升级”任务,查看执行进度。即时任务不支持取消。 对于升级方式为“可维护时间段内升级”的任务: 在“定时任务”页签,搜索实例名称,查看该实例下版本升级的任务执行情况。 如果任务为“待执行”状态,单击“取消”,取消执行该升级任务。 更多操作,请参见查看任务。
  • 迁移方案总览 表1 MySQL迁移方案 源数据库类型 数据量 一次性或持续 应用程序停机时间 迁移方式 文档链接 RDS for MySQL 小型 一次性 一段时间 使用mysqldump工具将数据复制到RDS for MySQL数据库。 使用mysqldump迁移RDS for MySQL数据 任何 一次性或持续 最低 使用DRS将表级、库级或实例级数据迁移到RDS for MySQL数据库。 说明: DRS实时迁移计费说明,请参见DRS迁移计费说明。 RDS for MySQL迁移到RDS for MySQL 中 一次性 一段时间 使用DAS导出数据,再导入到RDS for MySQL数据库。 使用DAS的导出和导入功能迁移RDS for MySQL数据 任何 一次性或持续 最低 使用DRS将源库数据同步到RDS for MySQL数据库。 RDS for MySQL同步到RDS for MySQL 任何 持续 最低 使用DRS将业务库数据同步到RDS for MySQL数据库(灾备库)。 说明: 该功能为容灾备份,主要为了解决地区故障导致的业务不可用,为用户业务连续性提供数据库的同步保障。 RDS for MySQL之间搭建单主灾备 RDS for MySQL之间搭建双主灾备 DDM 任何 一次性或持续 最低 使用DRS将DDM数据同步到RDS for MySQL数据库。 将DDM同步到RDS for MySQL GaussDB 分布式版 任何 一次性或持续 最低 使用DRS将GaussDB分布式版数据同步到RDS for MySQL数据库。 将GaussDB分布式版同步到RDS for MySQL GaussDB主备版 任何 一次性或持续 最低 使用DRS将GaussDB主备版数据同步到RDS for MySQL数据库。 将GaussDB主备版同步到RDS for MySQL GaussDB(for MySQL) 任何 一次性或持续 最低 使用DRS将GaussDB(for MySQL)数据同步到RDS for MySQL数据库。 将GaussDB(for MySQL)同步到RDS for MySQL 本地自建MySQL数据库 E CS 自建MySQL数据库 任何 一次性或持续 最低 使用DRS将自建MySQL迁移到RDS for MySQL数据库。 实时迁移通过增量迁移技术,最大限度允许迁移过程中业务继续对外提供使用,有效的将业务系统中断时间和业务影响最小化,实现数据库平滑迁移上云。 说明: DRS实时迁移计费说明,请参见DRS迁移计费说明。 自建MySQL迁移到RDS for MySQL 任何 一次性或持续 最低 使用DRS将自建MySQL同步到RDS for MySQL数据库。 实时同步聚焦于表和数据,将数据通过同步技术从一个数据源拷贝到其他数据库,并保持一致,实现关键业务的数据实时流动。适用于实时分析,报表系统,数仓环境的场景。 自建MySQL同步到RDS for MySQL 任何 持续 最低 使用DRS将自建MySQL业务库数据同步到RDS for MySQL数据库(灾备库)。 说明: 该功能为容灾备份,主要为了解决地区故障导致的业务不可用,为用户业务连续性提供数据库的同步保障。 自建MySQL到RDS for MySQL单主灾备 自建MySQL到RDS for MySQL双主灾备 本地自建Oracle数据库 ECS自建Oracle数据库 任何 一次性或持续 最低 使用DRS将自建Oracle数据同步到RDS for MySQL数据库。 将Oracle同步到RDS for MySQL 其他云上MySQL数据库 任何 一次性或持续 最低 使用DRS将其他云上MySQL数据库迁移到RDS for MySQL数据库。 说明: DRS实时迁移计费说明,请参见DRS迁移计费说明。 其他云MySQL迁移到云数据库 RDS for MySQL 任何 一次性或持续 最低 使用DRS将其他云上MySQL数据库同步到RDS for MySQL数据库。 将其他云MySQL同步到RDS for MySQL 任何 持续 最低 使用DRS将其他云上MySQL业务库数据同步到RDS for MySQL数据库(灾备库)。 说明: 该功能为容灾备份,主要为了解决地区故障导致的业务不可用,为用户业务连续性提供数据库的同步保障。 其他云MySQL到RDS for MySQL单主灾备 其他云MySQL到RDS for MySQL双主灾备
  • 操作步骤 执行以下命令,修改数据库名称。 exec msdb.dbo.rds_rename_database N'oldname',N'newname'; oldname为修改前的数据库名称。 newname为修改后的数据库名称。 将名为“ABC”的数据库重命名为“XYZ”,示例如下: exec msdb.dbo.rds_rename_database N'ABC',N'XYZ'; 数据库名称修改成功后,系统将会如下提示: The database name 'XYZ' has been set.
  • 前提条件 成功连接RDS for SQL Server实例。关于连接关系型数据库实例,请参考连接实例。 在您对HA实例重命名之前,请先执行如下命令取消数据库的镜像关系。 alter database [dbname] set partner off 数据库重命名成功后,系统会自动为新的数据库建立镜像关系。 如果对未取消HA实例镜像关系的数据库进行重命名,系统将会如下提示: Database 数据库名 is on mirroring_state. 对于数据库版本为2017 EE的实例,若要进行重命名的数据库已加入到 [AG-RDS-YUN] 可用性组中,必须先将其移出可用性组,才可进行重命名操作。
  • 约束 对于系统库,不可修改名称。如果您试图修改系统库的名称,系统将会如下提示: Error DBName_Source or DBName_Target. Please can not include in ('msdb','master','model','tempdb','rdsadmin','resource') . 不可使用已经存在的数据库名称进行重命名操作。如果重命名的数据库名称已经存在,系统将会如下提示: Database 数据库名 already exists. Cannot rename database with the same name.
  • 预定义参数 本章节介绍了在PostgreSQL11开源版本的基础上,RDS for PostgreSQL增强版支持的预定义参数。 表1 预定义参数 预定义参数 说明 NLS_DATE_FORMAT 日期格式定义参数。 NLS_DATE_LANGUAGE 日期语言定义参数。 NLS_DUAL_CURRENCY 区 域名 称定义参数,影响本地货币符号显示格式; NLS_CURRENCY 货币符号定义参数。 NLS_TIME_FORMAT 不带时区的时间格式定义参数。 NLS_TIME_TZ_FORMAT 带时区的时间格式定义参数。 NLS_TIMESTAMP_FORMAT 不带时区的时间戳格式定义参数。 NLS_TIMESTAMP_TZ_FORMAT 带时区的时间戳格式定义参数。 NLS_NUMERIC_CHARACTERS 十进制数分组分割符定义参数。 NLS_ISO_CURRENCY 区域名称定义参数,影响ISO货币符号显示格式。 NLS_TERRITORY 区域名称定义参数,会根据区域货币与数字显示格式重置NLS_CURRENCY、NLS_ISO_CURRENCY、NLS_NUMERIC_CHARACTERS参数值。 NLS_LANGUAGE 区域语言定义参数。 NLS_LENGTH_SEMAN TICS 指定字符串字段定义时的默认长度单位,取值范围:BYTE,CHAR; NLS_SORT 指定本地字符集排序规则。 NLS_COMP 指定会话级范围查找或排序操作的排序规则。 父主题: RDS for PostgreSQL增强版
  • 隐式类型转换 本章节介绍了在PostgreSQL11开源版本的基础上,RDS for PostgreSQL增强版支持的隐式类型转换。 定长字符串类型CHARACTER与NUMERIC,INT4,INT8,FLOAT4,FLOAT8之间相互转换。 变长字符串类型VARCHAR与NUMERIC,INT4,INT8,FLOAT4,FLOAT8之间相互转换。 文本类型TEXT与NUMERIC,INT2,INT4,INT8,FLOAT4,FLOAT8之间相互转换。 短整形INT2转换为CHARACTER,VARCHAR。 二进制大对象BLOB与二进制RAW之间相互转换。 父主题: RDS for PostgreSQL增强版
共100000条