跳到主要内容 跳到补充内容

先决条件

在登陆或复制数据之前,请确保达成以下先决条件:

  • 在数据移动网关服务器上安装所需的 driver

  • 授予数据源所需的权限

  • 配置数据源连接器

支持的版本

支持以下 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

  1. 数据移动 网关计算机上,将工作目录更改为:

    opt/qlik/gateway/movement/drivers/bin

  2. 然后运行以下命令:

    语法:

    ./install mysql

    如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 install mysql 命令。

    否则,将显示 driver 的 EULA。

  3. 执行以下选项之一:

    • 重复按 [Enter] 可在 EULA 中缓慢滚动。
    • 重复按空格键可快速滚动 EULA。
    • 按 q 退出许可证文本并显示 EULA 接受选项。
  4. 执行以下操作之一:

    • 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
    • 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
    • 键入“v”并按 [Enter] 以再次查看 EULA。

  5. 将会安装 driver

更新 driver

如果要在安装提供的 driver 之前卸载以前版本的 driver,请运行 update 命令。

下载并更新 driver

  1. 数据移动 网关计算机上,将工作目录更改为:

    opt/qlik/gateway/movement/drivers/bin

  2. 然后运行以下命令:

    语法:

    ./update mysql

    如果无法下载 driver(由于访问限制或技术问题),将显示一条消息,为您指示在 数据移动 网关机器上下载 driver 的位置和复制驱动程序的位置。完成此操作后,请再次运行 update mysql 命令。

    否则,将显示 driver 的 EULA。

  3. 执行以下选项之一:

    • 重复按 [Enter] 可在 EULA 中缓慢滚动。
    • 重复按空格键可快速滚动 EULA。
    • 按 q 退出许可证文本并显示 EULA 接受选项。
  4. 执行以下操作之一:

    • 键入 "y" 并按 [Enter] 接受 EULA 并开始安装。
    • 键入 "n" 并按 [Enter] 拒绝 EULA 并退出安装。
    • 键入“v”并按 [Enter] 可从头开始查看 EULA。
  5. 将卸载旧的 driver,并安装新的 driver

卸载 driver

如果要卸载 driver,请运行 uninstall 命令。

卸载 driver

  1. 停止所有配置为使用此连接器的任务。

  2. 数据移动 网关计算机上,将工作目录更改为:

    opt/qlik/gateway/movement/drivers/bin

  3. 然后运行以下命令:

    语法:

    ./uninstall mysql

    将卸载 driver

手动安装驱动程序

只有在自动驱动程序安装未成功完成的情况下,才应尝试手动安装 driver

安装 数据移动网关 后,下载 mysql-connector-odbc-<版本>.x86_64.rpm 驱动程序。您可以在此路径下面找到受支持版本的直接下载链接:binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/mysql.yaml。下载完成后,将 RPM 复制到 数据移动网关 机器上。

数据移动网关 服务器上,打开 shell 提示符并执行以下操作:

  1. 停止 数据移动网关 服务:

    sudo systemctl stop repagent

  2. 可选择确认服务已停止:

    sudo systemctl status repagent

    状态应如下所示:

    Active: inactive (dead) since <timestamp> ago

  3. 数据移动网关 计算机上安装驱动程序。
  4. 将工作目录更改为 <数据移动网关_Install_Dir>/bin.

  5. 将驱动程序位置复制到 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 文件中的驱动程序位置。

  6. 可选择确认已将驱动程序位置复制:

    cat site_arep_login.sh
  7. 确保 /etc/odbcinst.ini 文件包含 MySQL 的条目,如以下示例所示:

    [MySQL ODBC 8.0 Unicode Driver]

    Driver = /usr/lib64/libmyodbc8w.so

    UsageCount = 1

  8. 启动 数据移动网关 服务:

    sudo systemctl start repagent

  9. 可选择确认服务已启动:

    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,请执行以下操作:

  1. 按照 AWS 帮助中的说明创建新的参数组(请参阅二进制日志格式部分)。

  2. 创建新参数组时,请设置: binlog_format=row

  3. 保存新的参数组。
  4. 如果您有 Amazon RDS for MySQL 的现有实例,请编辑该实例以使用上面步骤 2 中指定的参数。如果您正在配置 Amazon RDS for MySQL 的新实例,请参考上面步骤 1 中创建的新参数组。
  5. 最后,确保启用了自动备份(默认)。

进一步阅读: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 参数设置为

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!