先决条件
在登陆或复制数据之前,请确保达成以下先决条件:
-
在 数据移动网关 服务器上安装所需的 driver
信息注释只有当您选择使用 数据移动网关 时,才需要这样。有关 数据移动网关 的优势和何时需要它的信息,请参阅 Qlik 数据网关 - 数据移动。
请注意,Qlik Talend Cloud 启动器 订阅不可使用 数据移动网关。
-
授予数据源所需的权限
-
配置数据源连接器
支持的版本
支持以下 MySQL 版本:
- MySQL Community 版本
- MySQL Standard 版本
- MySQL Enterprise 版本
- MySQL Cluster Carrier Grade 版本
驱动程序设置
您可以使用驱动程序安装实用程序(推荐)安装 driver 或手动安装。只有在您遇到驱动程序安装实用程序发生问题的少见情况下,才应尝试手动安装。
使用驱动程序安装实用程序安装驱动程序
本部分介绍如何安装所需的 driver。这个过程包括运行一个脚本,该脚本将自动下载、安装和配置所需的 driver。您还可以根据需要运行脚本来更新和卸载 driver。
准备安装
-
请确保在 数据移动 网关服务器上安装了 Python 3.6 或更高版本。
Python 预装在大多数 Linux 发行版上。您可以通过运行以下命令来检查系统上安装了哪个 Python 版本。
python3 --version
安装 driver
下载并安装 driver :
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./install mysql
如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 install mysql 命令。
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
-
键入“v”并按 [Enter] 以再次查看 EULA。
将会安装 driver。
更新 driver
如果要在安装提供的 driver 之前卸载以前版本的 driver,请运行 update 命令。
下载并更新 driver:
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./update mysql
如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 update mysql 命令。
否则,将显示 driver 的 EULA。
-
执行以下选项之一:
- 重复按 [Enter] 可在 EULA 中缓慢滚动。
- 重复按空格键可快速滚动 EULA。
- 按 q 退出许可证文本并显示 EULA 接受选项。
-
执行以下操作之一:
- 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
- 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
- 键入“v”并按 [Enter] 可从头开始查看 EULA。
将卸载旧的 driver,并安装新的 driver。
卸载 driver
如果要卸载 driver,请运行 uninstall 命令。
卸载 driver:
-
停止所有配置为使用此连接器的任务。
-
在 数据移动 网关计算机上,将工作目录更改为:
opt/qlik/gateway/movement/drivers/bin
-
然后运行以下命令:
语法:
./uninstall mysql
将卸载 driver。
手动安装驱动程序
只有在自动驱动程序安装未成功完成的情况下,才应尝试手动安装 driver。
安装 数据移动网关 后,下载 mysql-connector-odbc-<版本>.x86_64.rpm 驱动程序。您可以在此路径下面找到受支持版本的直接下载链接:binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/mysql.yaml。下载完成后,将 RPM 复制到 数据移动网关 机器上。
在 数据移动网关 服务器上,打开 shell 提示符并执行以下操作:
-
停止 数据移动网关 服务:
sudo systemctl stop repagent
-
可选择确认服务已停止:
sudo systemctl status repagent
状态应如下所示:
Active: inactive (dead) since <timestamp> ago
- 在 数据移动网关 计算机上安装驱动程序。
-
将工作目录更改为 <数据移动网关_Install_Dir>/bin.
-
将驱动程序位置复制到 site_arep_login.sh 文件:
echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/usr/lib64" >> site_arep_login.sh
这将把驱动程序添加到 "LD_LIBRARY_PATH" 并更新 site_arep_login.sh 文件中的驱动程序位置。
-
可选择确认已将驱动程序位置复制:
cat site_arep_login.sh
-
确保 /etc/odbcinst.ini 文件包含 MySQL 的条目,如以下示例所示:
[MySQL ODBC 8.0 Unicode Driver]
Driver = /usr/lib64/libmyodbc8w.so
UsageCount = 1
-
启动 数据移动网关 服务:
sudo systemctl start repagent
-
可选择确认服务已启动:
sudo systemctl status repagent
状态应如下所示:
Active: active (running) since <timestamp> ago
端口
默认情况下,需要打开端口 3306 以便在 数据移动网关 服务器上进行出站通信。您可以在连接器设置中更改此项。
一般前提条件
确保满足以下先决条件:
- 具有 所需的权限 的 MySQL 帐户。
- MySQL 8:用于捕获更改的标准身份验证
-
经过认证的 MySQL 版本支持时态数据类型的分数值(在 MySQL 5.6 中引入)。因此,不再支持旧的时态数据类型格式的移动。
信息注释请注意,升级到支持时态数据类型分数值的 MySQL 版本不会自动升级时态数据格式。这需要单独完成。这也适用于从 MariaDB 10.1 升级。有关升级临时数据类型格式的说明,请参阅供应商的在线帮助。
从客户安装的 MySQL 数据库捕获更改
以下部分介绍从本地 MySQL 数据库捕获更改的要求。
启用二进制日志记录
要启用二进制日志记录(CDC 移动 需要),必须在 MySQL 的 my.ini (Windows) 或 my.cnf (UNIX) 文件中配置以下参数。
参数 | 值 |
---|---|
server_id |
自 1 起的任何值。 示例: server_id=1 |
log-bin=<path> |
二进制日志文件的路径(无扩展名)。 示例: log-bin=E:\MySql_Logs\BinLog |
binlog_format |
必须为: binlog_format=row |
expire_logs_days |
为防止磁盘空间问题,强烈建议不要使用默认值 (0)。 示例: expire_logs_days=5 |
binlog_row_image |
必须为: binlog_row_image=full |
群集先决条件
为了能够移动群集的 (NDB) 表(通过连接到任何群集节点),必须在 MySQL 的 my.ini (Windows) 或 my.cnf (UNIX) 文件中配置以下参数。
使用 Percona 作为源时,无需执行该部分中所述的过程。
参数 | 值 |
---|---|
ndb_log_bin |
必须为: ndb_log_bin=on 确保将群集表中的更改记录到二进制日志中。 |
ndb_log_update_as_write |
必须为: ndb_log_update_as_write=OFF 防止将 UPDATE 作为 INSERT 写入二进制日志。 |
ndb_log_updated_only |
必须为: ndb_log_updated_only=OFF 确保二进制日志将包含整个行,而不仅仅是更改的列。 |
从 Google Cloud for MySQL 捕获更改
二进制日志记录
捕获更改需要二进制日志记录。要检查是否启用了二进制日志记录(默认值),请确保数据库的 binlog_row_image
参数设置为 全
。
Replication
复制使数据能够从主数据库服务器复制到一个或多个辅助服务器。
数据可以从主服务器或辅助服务器登陆。
要从辅助服务器捕获更改,请使用二进制日志记录参数 log_slave_updates
需要设置为 true
(1
)。
另请阅读:https://cloud.google.com/sql/docs/mysql/replication
从 Amazon RDS for MySQL 和 Amazon Aurora for MySQL 捕获更改
二进制日志记录
要设置 Amazon RDS for MySQL 或 Amazon Aurora for MySQL for CDC,请执行以下操作:
-
按照 AWS 帮助中的说明创建新的参数组(请参阅二进制日志格式部分)。
-
创建新参数组时,请设置:
binlog_format=row
- 保存新的参数组。
- 如果您有 Amazon RDS for MySQL 的现有实例,请编辑该实例以使用上面步骤 2 中指定的参数。如果您正在配置 Amazon RDS for MySQL 的新实例,请参考上面步骤 1 中创建的新参数组。
- 最后,确保启用了自动备份(默认)。
进一步阅读:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.BinaryFormat.html
Replication
复制使数据能够从主数据库服务器复制到一个或多个辅助服务器。
数据可以从主服务器或辅助服务器登陆。
要从辅助服务器捕获更改,请使用二进制日志记录参数 log_slave_updates
需要设置为 true
(1
)。
另请阅读:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.html
从 Microsoft Azure database for MySQL 捕获更改
捕获更改需要二进制日志记录。要检查是否启用了二进制日志记录(默认值),请确保数据库的 binlog_row_image
参数设置为 全
。