前提条件
データのランディングまたはレプリケートをする前に、次の前提条件を満たすようにします。
-
Data Movement gateway サーバーに、必要な driver をインストールする
情報メモこれは、Data Movement gateway を使用することを選択した場合のみ必要です。Data Movement gateway の利点と必要なタイミングについては、Qlik Data Gateway - データ移動 を参照してください。
Data Movement gateway は Qlik Talend Cloud スターター サブスクリプションではご利用いただけません。
-
データ ソースに必要な権限を付与する
-
データ ソースのコネクタを構成する
サポートされているエディション
次の MySQL エディションがサポートされています。
- MySQL Community Edition
- MySQL Standard Edition
- MySQL Enterprise Edition
- MySQL Cluster Carrier Grade Edition
ドライバーのセットアップ
driver のインストールは、ドライバー インストール ユーティリティを使用する (推奨) か、手動で実行できます。手動インストールは、ドライバー インストール ユーティリティで問題が発生した場合にのみ実行するようにしてください。
ドライバー インストール ユーティリティを使用したドライバーのインストール
このセクションでは、必要な driver のインストール方法を説明しました。このプロセスでは、必要な driver を自動的にダウンロード、インストール、設定するスクリプトを実行します。また、必要に応じて driver の更新やアンインストールを行うスクリプトを実行することもできます。
インストールの準備
-
データ移動 ゲートウェイ サーバーに Python 3.6.x 以降 がインストールされていることを確認します。
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 を手動でインストールするようにしてください。
Data Movement gateway がインストールされたら、mysql-connector-odbc-<バージョン>.x86_64.rpm ドライバーをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/mysql.yaml の binary-artifacts にあります。ダウンロードが完了したら、RPM を Data Movement gateway マシンにコピーします。
Data Movement gateway サーバーで、シェル プロンプトを開き、次の手順を実行します。
-
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: Standard 認証が変更のキャプチャに使用されている
-
認定 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
パラメータが full
に設定されていることを確認します。
レプリケーション
複製することにより、プライマリ データベース サーバーからのデータを 1 つ以上のセカンダリ サーバーにコピーできます。
データは、プライマリ サーバーまたはセカンダリ サーバーから取得されます。
セカンダリ サーバーから変更をキャプチャするには、バイナリ ログ パラメータ log_slave_updates
を true
(1
) に設定する必要があります。
参考ドキュメント: https://cloud.google.com/sql/docs/mysql/replication
Amazon RDS for MySQL および Amazon Aurora for MySQL からの変更のキャプチャ
バイナリ ログ
CDC 向けの Amazon RDS for MySQL または Amazon Aurora for MySQL:
-
新しいパラメータ グループを作成するための AWS Help の指示に従ってください (「バイナリ ログ形式」セクションを参照)。
-
新しいパラメータ グループを作成する際は、次を設定します:
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
レプリケーション
複製することにより、プライマリ データベース サーバーからのデータを 1 つ以上のセカンダリ サーバーにコピーできます。
データは、プライマリ サーバーまたはセカンダリ サーバーから取得されます。
セカンダリ サーバーから変更をキャプチャするには、バイナリ ログ パラメータ 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
パラメータが full
に設定されていることを確認します。