与 MySQL 兼容性对比 SQL 模式 不支持兼容模式,例如:Oracle 和 PostgreSQL(会解析并忽略这两个兼容模式),MySQL 5.7 已弃用兼容模式,MySQL 8.0 已移除兼容模式。 不适用NODIRINCREATE和NOENGINESUBSTITUTION。 默认设置 字符集: 分布式融合数据库HTAP默认:utf8mb4。 MySQL 5.7 默认:latin1。 MySQL 8.0 默认:utf8mb4。 排序规则: 分布式融合数据库HTAP中 utf8mb4 字符集默认:utf8mb4bin。 MySQL 5.7 中 utf8mb4 字符集默认:utf8mb4generalci。 MySQL 8.0 中 utf8mb4 字符集默认:utf8mb40900aici。 SQL mode: 分布式融合数据库HTAP默认:ONLYFULLGROUPBY,STRICTTRANSTABLES,NOZEROINDATE,NOZERODATE,ERRORFORDIVISIONBYZERO,NOAUTOCREATEUSER,NOENGINESUBSTITUTION。 MySQL 5.7 默认与分布式融合数据库HTAP相同。 MySQL 8.0 默认 ONLYFULLGROUPBY,STRICTTRANSTABLES,NOZEROINDATE,NOZERODATE,ERRORFORDIVISIONBYZERO,NOENGINESUBSTITUTION。 lowercasetablenames: 分布式融合数据库HTAP默认:2,且仅支持设置该值为 2。 MySQL 默认如下: Linux 系统中该值为 0。 Windows 系统中该值为 1。 macOS 系统中该值为 2。 explicitdefaultsfortimestamp: 分布式融合数据库HTAP默认:ON,且仅支持设置该值为 ON。 MySQL 5.7 默认:OFF。 MySQL 8.0 默认:ON。 时区 采用系统当前安装的所有时区规则进行计算(一般为 tzdata 包),不需要导入时区表数据就能使用所有时区名称,导入时区表数据不会修改计算规则。 MySQL 默认使用本地时区,依赖于系统内置的当前的时区规则(例如什么时候开始夏令时等)进行计算;且在未导入时区表数据的情况下不能通过时区名称来指定时区。