首批通过分布式安全可靠测评,为关键业务系统打造
高度兼容 MySQL,传统数据库轻松上云
更新时间:2026-06-28 16:31:11
OB Cloud 支持 MySQL 兼容模式租户,兼容 SQL 语法语义、存储过程、系统包、系统视图、多种语言驱动程序、嵌入式 SQL 预编译器等各个层面。应用仅需极少改造即可轻松迁移。
说明
本篇教程也同步在 OB Cloud 控制台上线了交互式教程,可以跟随教程在真实的 OB Cloud 环境中进行互动体验,登录 OB Cloud 控制台 后,单击左侧导航栏的 实践教程 即可查看全部已上线的交互式教程。
使用限制
- 您拥有当前实例的实例管理员、数据读取和数据服务管理员权限,如无权限,可联系组织管理员进行添加。
- 您有可用的事务型集群实例。
操作步骤
下载示例 SQL 文件。
单击进入 **兼容性评估**页面。
单击 创建兼容性评估。
单击 离线评估。

在 **创建离线评估**页面,完成填写下列配置项。
说明
系统已为您自动创建了评估任务名称。您可以根据需求选择自定义名称。
- 目标端
配置项 描述 云厂商 选择 腾讯云。 数据库类型 选择 TencentDB for MySQL。 Region 在下拉框中选择地域。 数据来源 选择 SQL。 上传文件 在此处上传您在步骤 1 中下载的示例 SQL 文件。 - 源端
配置项 描述 目标端数据库类型 OceanBase MySQL Mode 目标端数据库版本 您可在下拉框中选择对应的数据库版本。 单击 开始评估。您可以在兼容性评估列表页找到您刚刚创建的评估任务。

等待评估任务完成后,在评估任务列表页,单击 查看报告 查看生成的兼容性评估报告。
兼容性评估报告会展示所有采集到的 SQL 语句并对其兼容性进行评估。报告首页会展示所上传文件的兼容度并列出所有评估对象。您可以在 兼容性详情 下单击评估对象类型查看详情。更多有关报告的详细内容,请参见查看和下载兼容性评估报告。
示例 SQL 文件介绍
client-demo.sql 文件以一个课程管理系统的数据库结构为例,涵盖了一些常见的数据库操作,包括创建表、索引、视图、数据分区等。
完整 SQL 语句展示
创建学生表
CREATE TABLE IF NOT EXISTS students ( student_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, registration_date DATE NOT NULL, INDEX idx_registration_date (registration_date) ) ENGINE=InnoDB创建课程表
CREATE TABLE IF NOT EXISTS courses ( course_id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, credits INT NOT NULL ) ENGINE=InnoDB创建教师表
CREATE TABLE IF NOT EXISTS teachers ( teacher_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL ) ENGINE=InnoDB创建课程安排表并进行分区
CREATE TABLE IF NOT EXISTS course_schedules ( schedule_id INT AUTO_INCREMENT PRIMARY KEY, course_id INT NOT NULL, teacher_id INT, schedule_time DATETIME NOT NULL, INDEX idx_schedule_time (schedule_time) ) ENGINE=InnoDB PARTITION BY RANGE(YEAR(schedule_time)) ( PARTITION p2020 VALUES LESS THAN (2021), PARTITION p2021 VALUES LESS THAN (2022), PARTITION p2022 VALUES LESS THAN (2023), PARTITION p2023 VALUES LESS THAN (2024), PARTITION p_future VALUES LESS THAN MAXVALUE )创建视图:课程与教师信息
CREATE VIEW `vw_course_teacher` AS SELECT c.course_id, c.title AS course_title, c.credits, t.name AS teacher_name FROM courses AS c LEFT JOIN course_schedules AS cs ON c.course_id = cs.course_id LEFT JOIN teachers AS t ON cs.teacher_id = t.teacher_id;创建视图:即将开课的课程信息
CREATE VIEW `vw_upcoming_courses` AS SELECT c.title AS course_title, t.name AS teacher_name, cs.schedule_time FROM course_schedules AS cs JOIN courses AS c ON cs.course_id = c.course_id JOIN teachers AS t ON cs.teacher_id = t.teacher_id WHERE cs.schedule_time BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 1 WEEK);创建视图:学生注册信息
CREATE VIEW `vw_student_registration` AS SELECT student_id, name AS student_name, registration_date FROM students;