一、背景
经过腾讯云数据库团队的长时间深度验证(涵盖稳定性测试、生态兼容性评估以及未来技术演进推演),腾讯云决定对数据库体系进行战略升级。在此次升级过程中,TDSQL 集中式数据库(MariaDB)将融入云数据库 MySQL 服务体系。由于当前 TDSQL 集中式数据库(MariaDB)已停止更新功能,未来计划进行版本下线,为给你提供更优质和持续更新的产品服务,腾讯云为你提供一键迁移(MariaDB 迁移至 MySQL)能力,帮助你实现数据迁移。
云数据库 MySQL(TencentDB for MySQL)是腾讯云基于开源数据库 MySQL 专业打造的高性能企业级数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。让用户能够在云中更轻松地设置、操作和扩展关系型数据库。
二、迁移数据库产品
·迁移源端:TDSQL 集中式数据库(MariaDB)。
·迁移目标端:云数据库 MySQL。
三、迁移数据库产品功能差异对比
请参见 产品功能对比列表(MySQL 和 MariaDB)。
四、一键迁移功能说明
·支持迁移 TDSQL 集中式数据库(MariaDB)的主实例。
·若迁移源端主实例下存在灾备/只读实例,则不支持迁移。
·仅支持迁移同地域同可用区的实例。
·若迁移源端开启了数据库审计功能,则不支持一键迁移,请关闭数据库审计功能后再迁移,迁移后你可在迁移目标端开启数据库审计功能。
·支持将迁移源端的本地盘实例迁移至云数据库 MySQL 的本地盘实例。
·暂不支持金融围笼实例一键迁移。
五、功能限制
当前不支持 MariaDB 的 读写账号功能,迁移到云数据库 MySQL 完成后,所有请求均会访问至云数据库 MySQL 的主实例,如需使用读写分离功能,你可以在迁移完成后使用 数据库代理 功能。
六、一键迁移参数对比
| TDSQL 集中式数据库(MariaDB)的参数 | 是否支持迁移至云数据库 MySQL 5.6 | 是否支持迁移至云数据库 MySQL 5.7 |
| auto_increment_increment | 是 | 是 |
| auto_increment_offset | 是 | 是 |
| autocommit | 是 | 是 |
| character_set_server | 是 | 是 |
| connect_timeout | 是 | 是 |
| default_week_format | 是 | 是 |
| delay_key_write | 是 | 是 |
| delayed_insert_limit | 是 | 是 |
| delayed_insert_timeout | 是 | 是 |
| delayed_queue_size | 是 | 是 |
| div_precision_increment | 是 | 是 |
| event_scheduler | 是 | 是 |
| group_concat_max_len | 是 | 是 |
| innodb_concurrency_tickets | 是 | 是 |
| innodb_large_prefix | 是 | 是 |
| innodb_lock_wait_timeout | 是 | 是 |
| innodb_max_dirty_pages_pct | 是 | 是 |
| innodb_old_blocks_pct | 是 | 是 |
| innodb_old_blocks_time | 是 | 是 |
| innodb_purge_batch_size | 是 | 是 |
| innodb_read_ahead_threshold | 是 | 是 |
| innodb_stats_method | 是 | 是 |
| innodb_stats_on_metadata | 是 | 是 |
| innodb_stats_sample_pages | 否 | 否 |
| innodb_strict_mode | 是 | 是 |
| innodb_table_locks | 是 | 是 |
| innodb_thread_concurrency | 是 | 是 |
| interactive_timeout | 是 | 是 |
| key_cache_block_size | 是 | 是 |
| key_cache_division_limit | 是 | 是 |
| lock_wait_timeout | 是 | 是 |
| log_queries_not_using_indexes | 是 | 是 |
| long_query_time | 是 | 是 |
| low_priority_updates | 是 | 是 |
| max_allowed_packet | 是 | 是 |
| max_connect_errors | 是 | 是 |
| myisam_sort_buffer_size | 是 | 是 |
| net_read_timeout | 是 | 是 |
| net_retry_count | 是 | 是 |
| net_write_timeout | 是 | 是 |
| query_alloc_block_size | 是 | 是 |
| query_prealloc_size | 是 | 是 |
| slow_launch_time | 是 | 是 |
| sql_mode | 是 | 是 |
| table_definition_cache | 是 | 是 |
| table_open_cache | 是 | 是 |
| tmp_table_size | 是 | 是 |
| tx_isolation | 是 | 是 |
| wait_timeout | 是 | 是 |
| thread_pool_size | 是 | 是 |
| thread_pool_oversubscribe | 是 | 是 |
七、操作步骤
1. 登录 TDSQL 控制台,参考如下方式进入迁移功能页面。
方式一:在实例列表,找到并勾选目标实例,在实例列表上方或者操作列单击迁移至 MySQL。
方式二:在实例列表,单击目标实例 ID/名称,或其操作列的管理进入实例详情页,然后在上方单击迁移至 MySQL。
2. 在弹出的侧边栏中,阅读注意事项,确认源实例,选择目标架构(当前仅支持选择迁移至 MySQL 本地盘版)后,单击开始迁移评估。
3. 在迁移评估页面,系统会对可用区、计算计费模式等检测项进行评估,评估不通过的检测项,你可参考处理建议进行处理,评估均通过后,单击前往配置目标实例。
| 检测项 | 说明 |
| 可用区 | 如果迁移源端实例部署在云数据库 MySQL 不支持的可用区,则暂时无法迁移。 |
| 计算计费模式 | 检查计算计费模式是否适配,若为 CDC 模式,则不支持迁移。 |
| 数据库参数 | 检查迁移源端和目标端参数是否适配。 |
| 存储引擎 | 若迁移源端存在不支持的存储引擎,则暂时无法迁移,请转换为 InnoDB 引擎后再发起迁移。 |
| 非 innodb 表单 | 若需要迁移的源端实例下存在非 InnoDB 表单,则无法迁移。 |
| 外网 | 检查迁移源端是否开启外网,若开启了外网,则不支持迁移,请关闭外网后再重新迁移。 |
| 实例状态 | 检查迁移源端实例状态是否正常,若实例状态异常,则不支持迁移。 |
| innodb 页面大小 | 检查 innodb 页面大小是否适配,若不适配,则不支持迁移。 |
| 审计 | 检查迁移源端实例是否开启了数据库审计,开启后不支持迁移,请关闭数据库审计功能后再迁移,迁移后你可在迁移目标端开启数据库审计功能。 |
| 销毁保护 | 检查迁移源端实例是否开启了实例销毁保护,若开启,则不支持迁移,请关闭后再进行迁移。 |
| MySQL 版本 | 校验迁移的 MySQL 版本是否兼容,迁移目标端的内核小版本说明请参见 TXSQL 引擎内核版本更新动态。 |
4. 在实例迁移配置页面,完成如下配置,单击立即迁移。
| 参数 | 说明 |
| 调整配置 | 在源/目标实例字段下,你可对比源实例和目标实例的配置信息,例如数据库版本、规格存储等,如需修改目标实例配置,你可单击调整配置,并在弹窗中进行修改和保存,支持配置的参数包括:可用区、实例规格、硬盘等。 |
| 迁移后告警策略 | 在告警策略字段下,你可以选择迁移后的告警策略,支持选择已创建的云数据库 MySQL 侧的告警策略,或者单击新建告警策略,新建后刷新和选择新建的策略。新建告警策略请参见 告警策略(腾讯云可观测平台)。 |
| 更多配置自动迁移 | 在更多配置自动迁移字段下,你可以查看自动迁移的参数,包括安全组、标签、项目。 |
| 切换时间 | 选择迁移的切换时间,支持选项包括维护时间内和迁移完成时。 |
注意:说明:
注意:支持开启高亮变更项,快捷查看具体变更点。
注意:
5. 在跳转页面中,单击前往任务列表,在任务列表中,你可查询迁移的进度。
6. 若切换时间选择为立即切换,则数据迁移完成后系统会将访问连接切换至新的云数据库 MySQL 实例。
7. 若切换时间选择为维护时间内,则系统会在你的源端实例所设置的维护时间窗内执行切换,如果你希望立即执行切换,你需要登录 MySQL 控制台,在实例列表找到迁移后的目标实例,待实例状态为“升级待切换”时,单击其操作列的立即切换,并在弹窗中,勾选立即切换说明,单击切换。
注意:说明:
8. 连接地址切换后,视为迁移完成,你的云数据库 MySQL 实例将获得 TDSQL 集中式数据库(MariaDB)实例的 IP 地址,你的业务将切换至新实例下。后续你可登录 MySQL 控制台 对迁移后的新实例进行管理。
八、云数据库 MySQL 和 TDSQL 集中式数据库(MariaDB),在功能上有什么差异?
云数据库 MySQL 可实现对 TDSQL 集中式数据库(MariaDB)的功能全覆盖,且具备更多易用性功能。功能对比列表请参见 产品功能对比列表(MySQL 和 MariaDB)。
九、使用一键迁移功能将 TDSQL 集中式数据库(MariaDB)实例迁移至云数据库 MySQL 后,还可以重新购买 TDSQL 集中式数据库(MariaDB)实例吗?
不可以。TDSQL 集中式数据库(MariaDB)将融入云数据库 MySQL 服务体系,当前 TDSQL 集中式数据库(MariaDB)已停止更新功能,建议你一键迁移至云数据库 MySQL。
十、使用一键迁移功能将 TDSQL 集中式数据库(MariaDB)实例迁移至云数据库 MySQL 后,原 TDSQL 集中式数据库(MariaDB)实例支持的参数在云数据库 MySQL 是否支持?
大部分参数可以在云数据库 MySQL 侧支持,具体参数支持列表你可参见 一键迁移参数对比。