检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MySQL SQL迁移 工具支持从MySQL到GaussDB(DWS)的迁移,包括模式、DML、查询、系统函数、PL/SQL等。 在LINUX中执行MySQL迁移 在Linux中执行以下命令开始迁移。用户需指定源数据库、输入和输出文件夹路径和日志路径;应用程序语言类型是SQL。
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
MySQL语法迁移 支持的关键词和特性 数据类型 函数和表达式 表(可选参数、操作) 索引 注释 数据库 数据操作语句(DML) 事务管理和数据库管理 父主题: DSC
注释 MySQL支持由 '#' 或 '--' 字符引起的单行注释,而GaussDB(DWS)仅支持由双破折号 '--' 字符引起的单行注释。DSC工具迁移时会将 '#' 转化为 '--' 注释。 输入示例 1 2 3 4 5 6 7 ## comment sample create
唯一索引 普通索引和前缀索引 HASH索引 BTREE索引 SPATIAL空间索引 FULLTEXT全文索引 删除索引 索引重命名 父主题: MySQL语法迁移
数据库管理 DSC工具迁移时会将MySQL SET CHARACTER SET语句迁移为SET SESSION NAMES。字符集对照如下表: 表1 字符集对照表 MySQL CHARACTER SET GaussDB(DWS) SESSION NAMES ASCII SQL_ASCII
数据库 在MySQL中,DATABASE 是一种模式对象,等同于Oracle、GaussDB(DWS)数据库的SCHEMA概念。DSC工具迁移时考虑了以下两个场景。 创建数据库 输入示例 create database IF NOT EXISTS dbname1 CHARACTER
TRUNCATE 删除表 ROUNDROBIN表 RENAME 重命名表名 设置与清除列默认值 字段名重命名 行列存压缩 添加与删除列 父主题: MySQL语法迁移
引号 单引号 MySQL中别名带单引号,GaussDB(DWS)不支持,DSC迁移改为双引号。 输入示例 1 select name as 'mingzi' from t1; 输出示例 1 2 3 4 SELECT name AS "mingzi" FROM t1; 反引号
数据操作语句(DML) INSERT UPDATE REPLACE 引号 INTERVAL 除法表达式 GROUP BY转换 ROLLUP 父主题: MySQL语法迁移
UPDATE MySQL的UPDATE操作形式包括:LOW_PRIORITY、ORDER BY、LIMIT 、IGNORE。 LOW_PRIORITY MySQL UPDATE语句如果使用LOW_PRIORITY修饰符,则执行UPDATE延迟。 输入示例 1 2 #测试 LOW_PRIORITY
同的值,则在插入新行之前删除该旧行。 LOW_PRIORITY MySQL REPLACE支持使用LOW_PRIORITY ,DSC工具将对其进行转换。 输入 1 2 3 4 5 6 # LOW_PRIORITY 低优先级 Replace LOW_PRIORITY INTO exmp_tb2
ROLLUP MySQL中的group by column with rollup需要转换为GaussDB(DWS)中的group by rollup (column); 输入示例 1 2 3 select id,product_id,count(1) from czb_account
GROUP BY转换 MySQL/ADB分组查询的时候允许查询非分组字段,不报错;DWS分组查询时只能查询分组字段和聚集函数,报错。因此补齐没有group by的查询分组字段。 输入示例 1 SELECT e.department_id, department_name, ROUND(AVG(salary)
TION、DELAYED、IGNORE、VALUES以及ON DUPLICATE KEY UPDATE。 HIGH_PRIORITY MySQL中如果指定HIGH_PRIORITY,则会覆盖LOW_PRIORITY选项的效果。 输入示例 1 2 3 4 5 6 7 8 9 # HIGH_PRIORITY
数据类型 数字类型 日期和时间类型 字符串类型 空间数据类型 大对象类型 集合类型 布尔类型 二进制类型 JSON类型 父主题: MySQL语法迁移
支持的关键词和特性 DSC支持迁移的MySQL关键字和特性如表1所示。 “版本”列代表初次支持该关键字/特性的DWS集群版本。 “备注”列包含该特性的配置参数,可用于自定义迁移工具如何迁移相应的关键字/特性。 表1 章节 对象->关键词/特性 版本 备注 数据类型 数字类型 8.0
INTERVAL MySQL中使用interval表达式格式为INTERVAL N时间单位,DWS不支持,需要转换为INTERVAL 'N'时间单位。 输入示例 1 2 3 4 5 6 SELECT CURRENT_TIME() - INTERVAL 4 DAY; SELECT NOW()
布尔类型 概述 MySQL 支持两种布尔写法:BOOL、BOOLEAN。DSC工具支持以下列出类型转换。 类型对照 输入示例BOOL/BOOLEAN 1 2 3 4 5 CREATE TABLE IF NOT EXISTS `runoob_dataType_test`( `dataType_1`
概述 由于MySQL中的函数与表达式,在GaussDB(DWS)中不存在或者存在一定的差异,DSC工具会根据GaussDB(DWS)的支持情况做相应迁移。(兼容ADB for MySQL的语法支持) 类型对照 表1 类型对照表 MySQL/ADB函数类型 描述 MySQL INPUT