# 限制和考虑事项

在使用 MySQL 源时，应注意以下限制和注意事项。

## 所有数据任务的限制和注意事项

* 当 MySQL 安装在 Windows 上时，不会从名称包含大写和小写字符的表中捕获更改。

* 如果 MySQL 数据库在完全加载期间停止，则完全加载将成功结束，但目标表上的行可能比源表少。如果发生这种情况，请重新启动任务或重新加载缺少行的表。

* 不支持仅在部分列数据上创建唯一索引/主键。如果遇到这种唯一索引/主键，将在整个目标列上创建它。

  以下是仅使用部分列数据创建唯一索引/主键的语句示例：

  `CREATE INDEX partial_name ON customer (name(10));`

* 不会捕获对计算（虚拟）列的更改。

* 不支持二进制日志事务压缩。

* 不支持 MySQL 主-主配置。

* 不支持群集节点的故障转移。

* 不支持从加密的 binlog 捕获更改。

* 由于 MySQL ODBC Driver 8.0.027 或更高版本存在问题，在满负载期间可能无法正确复制空的 TEXT 列。例如，如果一个表行包含一个带有值的 TEXT 列，而下一行中的同一列包含空值（但不是 NULL），则两行都将显示目标上第一行的值。

## 仅登陆任务的限制和注意事项

* 不支持 Galera 群集。

* 不支持零日期。

## 复制和登陆任务的限制和注意事项

* 不支持捕获以下 DDL：

  * 所有分区 DDL
  * 放置表格
  * 重命名表格

* 超过一年的更改将不会被捕获。

* 不支持使用 `alter table <table_name> add column <column_name>` 语句将列添加到表的开头或中间。当 `alter table <table_name> add column <column_name>` 语句用于将列添加到表的中间时，该列将被添加到表末尾。

* 只有在源和目标基于 MySQL 的数据库都配置了相同的“严格模式”（开或关）时，才支持零日期。

* XA 事务的事务 ID 将不会显示在复制更改表/审计表 **transaction\_id** 标题中。

* 当前不支持 AR\_H\_USER 标头列。有关标题列的更多信息，请参阅[更改表格](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/read_change_tables.htm)。

* 如果 MySQL 表包含 LOB，并且任务的 Replicate Lob columns 选项被禁用，则该表将在没有 LOB 列的情况下复制。请注意，这仅适用于 MEDIUMBLOB、LONGBLOB，MEDIUMTEXT 和 LONGTEXT 列。此限制不适用于 BLOB、TINYBLOB、TEXT 和 TINYTEXT 列。