必要條件
在您可以登陸或複寫資料之前,確認完成下列先決條件:
-
在 資料移動閘道 伺服器安裝必要 driver
資訊備註只有在您選擇使用 資料移動閘道 時,才需要此。如需關於 資料移動閘道 福利以及何時需要的資訊,請參閱 Qlik 資料閘道 - 資料移動。
請注意,資料移動閘道 無法用於 Qlik Talend Cloud 啟動器 訂閱。
-
在資料來源授予必要權限
-
設定資料來源連接器
受支援的版本
受支援的 MySQL 版本如下:
- MySQL 社區版
- MySQL 標準版
- MySQL 企業版
- 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 版本,請執行更新命令。
若要下載並更新 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,請執行解除安裝命令。
若要解除安裝 driver:
-
停止設定為使用此連接器的所有任務。
-
在 資料移動 閘道機器上,將工作目錄變更為:
opt/qlik/gateway/movement/drivers/bin
-
執行下列命令:
語法:
./uninstall mysql
將會解除安裝 driver。
手動安裝驅動程式
只有在自動驅動程式安裝無法成功完成時,才能嘗試手動安裝 driver。
安裝 資料移動閘道 後,下載 mysql-connector-odbc-<version>.x86_64.rpm 驅動程式。您可以在 /opt/qlik/gateway/movement/drivers/manifests/mysql.yaml 的 binary-artifacts 之下找到支援版本的直接下載連結。下載完成後,將 RPM 複製到 資料移動閘道 機器。
在 Data Movement gateway 伺服器上,開啟 shell prompt 並進行以下項目:
-
停止 Data Movement gateway 服務:
sudo systemctl stop repagent
-
可自選,確認服務已停止:
sudo systemctl status repagent
狀態應如下所示:
Active: inactive (dead) since <timestamp> ago
- 將驅動程式安裝在 Data Movement gateway 機器。
-
變更任務目錄至 <Data Movement gateway-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
-
開始 Data Movement gateway 服務:
sudo systemctl start repagent
-
可自行選擇確認服務已開始:
sudo systemctl status repagent
狀態應如下所示:
Active: active (running) since <timestamp> ago
連接埠
依照預設值,在 Data Movement gateway 伺服器上需開啟連接埠 3306 才能進行傳出通訊。您可在連接器設定中變更此資訊。
一般必要條件
確保已符合以下先決條件:
- 有 必要權限 的 MySQL 帳號。
- MySQL 8:擷取變更的標準驗證
-
認證 MySQL 版本支援暫時檔案類型(MySQL 5.6 引入)的分數值。因此,不再支援舊暫時檔案類型格式的 移動。
資訊備註請注意,升級至支援暫時檔案類型分數值的 MySQL 版本不會自動升級暫時檔案類型格式。必須分開進行。這也適用從 MariaDB 10.1 升級的情況。針對升級暫時檔案類型格式的說明,請參閱廠商線上說明。
從客戶安裝的 MySQL 資料庫擷取變更
下一節說明從內部部署 MySQL 資料庫擷取變更的必要條件。
啟用 binary 記錄
要啟用 binary 登入(CDC 移動 必須),以下參數必須組態於 MySQL’s my.ini (Windows) 或 my.cnf (UNIX) 檔案。
參數 | 值 |
---|---|
server_id |
任何從 1 開始的值 範例: server_id=1 |
log-bin=<path> |
到 binary 記錄檔按(無延伸)的路徑 範例: 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’s my.ini (Windows) 或 my.cnf (UNIX) 檔案。
使用 Percona 作為來源時,不需要進行此區段說明的程序。
參數 | 值 |
---|---|
ndb_log_bin |
必須為: ndb_log_bin=on 確保叢集表格變更會被記錄至 binary 記錄中。 |
ndb_log_update_as_write |
必須為: ndb_log_update_as_write=OFF 預防更新在 binary 記錄中被寫成插入。 |
ndb_log_updated_only |
必須為: ndb_log_updated_only=OFF 確保 binary 記錄會包含整列而不只是已變更的欄。 |
從 Google Cloud for MySQL 擷取變更
Binary 記錄
要擷取變更必須使用 binary 登入。要檢查是否啟用 binary 登入(預設),請確定資料庫的 binlog_row_image
參數設定 完整
.
複寫
複製讓主資料庫伺服器的資料能夠複製到一個或更多次要伺服器。
能從主要或次要伺服器登陸資料。
要自是要伺服器擷取變更,binary 記錄參數 log_slave_updates
必須設定為 true
(1
).
進一步閱讀:https://cloud.google.com/sql/docs/mysql/replication
從 Amazon RDS for MySQL 和 Amazon Aurora for MySQL 擷取變更
Binary 記錄
若要為 MySQL 設定 Amazon RDS 或為 CDC 的 MySQL 設定 Amazon Aurora:
-
按照 AWS 說明中的說明建立新的參數群組 (請參閱二進位記錄格式區段)。
-
建立新的參數群組時,設定:
binlog_format=row
- 儲存新的參數群組。
- 若您有 MySQL 之 Amazon RDS 的現有執行個體,編輯該執行個體以使用上述步驟 2 中指定的參數。若您正在佈建 MySQL 之 Amazon RDS 的新執行個體,參考上述步驟 1 中建立的新參數群組。
- 最後,確認啟用自動備份 (預設情況)。
進一步閱讀:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.MySQL.BinaryFormat.html
複寫
複製讓主資料庫伺服器的資料能夠複製到一個或更多次要伺服器。
能從主要或次要伺服器登陸資料。
要自是要伺服器擷取變更,binary 記錄參數 log_slave_updates
必須設定為 true
(1
).
進一步閱讀:https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.html
從適用於 MySQL 的 Microsoft Azure 資料庫擷取變更
要擷取變更必須使用 binary 登入。要檢查是否啟用 binary 登入(預設),請確定資料庫的 binlog_row_image
參數設定 完整
.