检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
执行SQL时出现表死锁,提示LOCK_WAIT_TIMEOUT锁等待超时 问题现象 执行SQL时出现LOCK_WAIT_TIMEOUT锁等待超时的错误。 原因分析 锁等待超时一般是因为有其他的SQL语句已经持有了锁,当前SQL语句需要等待持有锁的SQL语句执行完毕释放锁之后才能执行。
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
MySQL SQL迁移 工具支持从MySQL到GaussDB(DWS)的迁移,包括模式、DML、查询、系统函数、PL/SQL等。 在LINUX中执行MySQL迁移 在Linux中执行以下命令开始迁移。用户需指定源数据库、输入和输出文件夹路径和日志路径;应用程序语言类型是SQL。
锁等待检测 操作场景 在日常作业开发中,数据库事务管理中的锁一般指的是表级锁,GaussDB(DWS)中支持的锁模式有8种,按排他级别分别为1~8。每种锁模式都有与之相冲突的锁模式,由锁冲突表定义相关的信息,锁冲突表如表1所示。 举例:用户u1对某张表test执行INSERT事务
TRUNCATE 删除表 MySQL在使用TRUNCATE语句删除表数据时可以省略“TABLE”关键字,GaussDB(DWS)不支持这种用法。此外,DSC工具在做迁移TRUNCATE语句时会添加“CONTINUE IDENTITY RESTRICT”关键字。 输入示例 1 2 TRUNCATE
MySQL语法迁移 支持的关键词和特性 数据类型 函数和表达式 表(可选参数、操作) 索引 注释 数据库 数据操作语句(DML) 事务管理和数据库管理 父主题: DSC
AUTO_INCREMENT 在数据库应用中,我们经常需要用到自动递增的唯一编号来标识记录。在MySQL中,可通过数据列的auto_increment属性来自动生成。可在建表时可用“auto_increment=n”选项来指定一个自增的初始值。可用“alter table table_name
DROP删除表 GaussDB(DWS)与MySQL都支持使用DROP语句删除表,但GaussDB(DWS)不支持在DROP语句中使用RESTRICT | CASCADE关键字。DSC工具迁移时会将上述关键字移除。 输入示例 1 2 3 4 5 6 7 CREATE TABLE IF
LOCK GaussDB(DWS)不支持MySQL中的“ALTER TABLE tbName LOCK”语句,DSC工具迁移时会将其删除。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
CHANGE修改列 CHECK约束 DROP删除表 LIKE 表克隆 MODIFY修改列 TRUNCATE 删除表 ROUNDROBIN表 RENAME 重命名表名 设置与清除列默认值 字段名重命名 行列存压缩 添加与删除列 父主题: MySQL语法迁移
COMMENT 在MySQL中,COMMENT对表进行注释。GaussDB(DWS)支持该属性修改表定义信息,DSC工具迁移时会添加额外的表属性信息。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE `public`.`runoob_alter_test`(
RENAME 重命名表名 MySQL重命名表名的语句与GaussDB(DWS)有一些差异。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 工具暂不支持原表名附有DATABASE(SCHEMA)的场景。 MySQL通过RENAME TABLE语句修改表名。 输入示例 1
注释 MySQL支持由 '#' 或 '--' 字符引起的单行注释,而GaussDB(DWS)仅支持由双破折号 '--' 字符引起的单行注释。DSC工具迁移时会将 '#' 转化为 '--' 注释。 输入示例 1 2 3 4 5 6 7 ## comment sample create
LIKE 表克隆 MySQL数据库中,可以使用CREATE TABLE .. LIKE ..方式克隆旧表结构创建新表。GaussDB(DWS)也支持这种建表方式。DSC工具迁移时会添加额外的表属性信息。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE IF NOT
例如下,具体参见CREATE DATABASE语法。 1 CREATE DATABASE ora_compatible_db DBCOMPATIBILITY 'ORA'; 表1 兼容项差异 兼容项 Oracle兼容 Teradata兼容 MySQL兼容 空串 只有null。 区分空串和null。
MODIFY修改列 MySQL使用MODIFY关键字修改列数据类型、设置非空约束。DSC工具迁移时会根据GaussDB(DWS)的特性进行相应适配。 输入示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 CREATE
PASSWORD 在MySQL中,PASSWORD表示用户密码。GaussDB(DWS)不支持该参数,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 CREATE TABLE `public`.`runoob_alter_test`( `dataType1`
ENGINE 在MySQL中,ENGINE指定表的存储引擎。当存储引擎为ARCHIVE、BLACKHOLE、CSV、FEDERATED、INNODB、MYISAM、MEMORY、MRG_MYISAM、NDB、NDBCLUSTER和PERFOMANCE_SCHEMA时,DSC支持该属性迁移,迁移过程中会将该属性删除。
COLLATE 在MySQL中,COLLATE表示默认的数据库排序规则。GaussDB(DWS)不支持该属性修改表定义信息,DSC迁移时会将该关键字删除。 输入示例 1 2 3 4 5 6 7 8 CREATE TABLE `public`.`runoob_tbl_test`(
PARTITION BY 在MySQL中,PARTITION BY用于创建分区表。GaussDB(DWS)目前仅对MySQL中的RANGE,LIST分区进行支持。 对于PARTITION BY的HASH分区,DSC暂不支持该特性的完整迁移,将其移除。对于表的当前功能暂时没有影响,性能方面可能存在些许差异。