メイン コンテンツをスキップする 補完的コンテンツへスキップ

MySQL

このトピックでは、MySQL ターゲット コネクタを使用して MySQL ターゲットへの接続を構成する方法について説明します。MySQL は、レプリケーション タスクのターゲット データベースとしてのみ使用できます。MySQL ターゲットに接続する前に、データベースで 必要な権限 を構成する必要があります。Data Movement gateway 経由で MySQL に接続している場合は、ドライバーのセットアップ の説明に従ってドライバーをインストールする必要もあります。

MySQL コネクタを使用する場合の制限と考慮事項については、「 制限と考慮事項」を参照してください。

接続プロパティの設定

コネクタを構成するには、次の手順を実行します。

  1. MySQL ターゲット コネクタを選択し、次の設定を行います。

データ ターゲット

  • データ ゲートウェイMySQL ターゲットへの接続をテストするために使用される Data Movement gateway を選択します。これは、データ ソースへのアクセスに使用されたゲートウェイと同じである必要があります。

    情報メモ
    • Data Movement gateway マシンに適切なドライバーをインストールする必要もあります。詳細については、以下の「ドライバーのセットアップ」を参照してください。

  • クラウド プロバイダー: 必要に応じて次のいずれかを選択します。

    • オンプレミスの MySQL の場合は、MariaDB、Amazon Aurora、または Microsoft Azure Database for MySQL - フレキシブル サーバー。

    • Amazon RDS for MariaDB または Amazon RDS for MySQL の場合。

    • Google Cloud SQL for MySQL の場合。

    • Microsoft Azure Database for MySQL の場合。

  • サーバー: MySQL データベースがインストールされているコンピューターのホスト名または IP アドレスです

  • ポート: データベースに接続するときに使用するポート。デフォルトは、3306 です。

アカウントのプロパティ

ユーザー名パスワード: MySQL サーバー データベースへのアクセスを承認されたユーザーのユーザー名とパスワード。

データベースのプロパティ

  • ターゲット データベース タイプ: 次のいずれかを選択します。
    • 特定のデータベース: このオプションを選択すると、すべてのソース スキーマが指定されたデータベースにロードされます。
    • 複数のデータベース: このオプションを選択すると、各ソース スキーマが対応するデータベースにロードされます。さらに、 既定では、すべてのコントロール テーブルが attrep_control という新しいスキーマにレプリケートされます。コントロール テーブルの詳細については、「コントロール テーブル」を参照してください。
  • 最大ファイル サイズ (KB): CSV ファイルが MySQL ターゲット データベースにロードされる前に、CSV ファイルの最大サイズ (KB 単位) を選択または入力します。既定値は 32000 KB です。
  • 並列ロード スレッド: スレッドの数を増やすと、MySQL ターゲット データベースにデータをロードする際のパフォーマンスが向上する可能性があります。スレッドごとに個別の接続が必要となるため、多数のスレッドを設定するとデータベースのパフォーマンスに悪影響を及ぼす可能性があることに注意してください。

内部プロパティ

内部プロパティは、特殊なユース ケース向けであるため、ダイアログで公開されません。Qlik サポートによって指示があった場合にのみ使用する必要があります。

項目右側にある 新規作成キャンセル ボタンを使用して、必要に応じてプロパティを追加したり削除したりします。

名前

接続の表示名です。

前提条件

必要な権限

コネクタ設定で指定されたユーザーには、次の権限が付与される必要があります。

  • MySQL アカウントへのアクセス
  • MySQL データベースの読み取り/書き込み権限
  • レプリケーションに関係する各ターゲット スキーマに対する次の権限:
    • ALTER
    • CREATE
    • CREATE TEMPORARY TABLES
    • DELETE
    • DROP
    • INSERT
    • SELECT
    • UPDATE

ドライバーのセットアップ

このセクションでは、必要な driver のインストール方法を説明しました。このプロセスでは、必要な driver を自動的にダウンロード、インストール、設定するスクリプトを実行します。また、必要に応じて driver の更新やアンインストールを行うスクリプトを実行することもできます。

  • データ移動 ゲートウェイ サーバーに Python 3.6.x 以降 がインストールされていることを確認します。

    Python は、ほとんどの Linux 配布に前もってインストールされています。お使いのシステムにインストールされている Python のバージョンは、次のコマンドを実行することで確認できます。

    python3 --version

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ダウンロードして更新するには:

  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 をアンインストールするには:

  1. このコネクタを使用するように構成されているすべてのタスクを停止します。

  2. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  3. 次のコマンドを実行します。

    構文:

    ./uninstall mysql

    driver がアンインストールされます。

ドライバーの手動インストール

自動ドライバーのインストールが正常に完了しなかった場合にのみ、driver を手動でインストールするようにしてください。

Data Movement gateway がインストールされたら、mysql-connector-odbc-<バージョン>.x86_64.rpm ドライバーをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/mysql.yamlbinary-artifacts にあります。ダウンロードが完了したら、RPM を Data Movement gateway マシンにコピーします。

Data Movement gateway サーバーで、シェル プロンプトを開き、次の手順を実行します。

  1. Data Movement gateway サービスを停止します。

    sudo systemctl stop repagent

  2. 必要に応じて、サービスが停止されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: inactive (dead) since <timestamp> ago

  3. ドライバーを Data Movement gateway マシンにインストールします。
  4. 作業ディレクトリを <Data Movement gateway_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. Data Movement gateway サービスを起動します。

    sudo systemctl start repagent

  9. 必要に応じて、サービスが開始されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: active (running) since <timestamp> ago

制限と考慮事項

MySQL をレプリケーション ターゲットとして使用する場合、次の制限が適用されます。

  • MariaDB ターゲット データベースにレプリケートするときに、DATETIME 値がゼロに設定されている場合は、DATETIME を有効な値に置き換える変換を定義する必要があります。例:

    replace($datetime_column,'9999-12-31 23:59:59','2000-01-01 22:00:00')

    情報メモこの制限は、Microsoft Azure Database for MySQL には適用されません。
  • MySQL の操作方法により、フル ロード タスク中にデータを MySQL ターゲットにロードする場合、重複キー エラーはログに報告されません。
  • 列の値を既存の値に更新する場合、 MySQL から影響を受ける行が 0 行返されます (1 行の更新を実行する Oracle や Microsoft SQL Server とは異なります)。

    これにより、attrep_apply_exceptions Control Table にエントリが生成され、次の警告が表示されます。

    Some changes from the source database had no impact when applied to the target database. See attrep_apply_exceptions table for details.

  • MySQL 5.7 の問題 (バージョン 8.0 で解決済み) により、フル ロードで CSV ファイルを使用する場合、マルチバイト文字を TEXT 列に挿入できません。したがって、ターゲット エンドポイントが MySQL 5.7 で、レプリケートされたテーブルに UTF-8 マルチバイト文字を含む TEXT 列が含まれている場合、ターゲット テーブルが空になる可能性があります。

     

    回避方法:

    [コネクタ設定] で、loadUsingCSV の内部パラメーターを FALSE に設定します。パフォーマンスに影響を与える可能性があることに注意してください。

  • 4 バイトの絵文字をレプリケートする必要がある場合は、ターゲット スキーマの文字セットを utf8mb4 に設定する必要があります。

データ型

ネイティブ データ タイプの情報は保持され、データセット ビューの [ネイティブ データ タイプ] 列に表示されます。列が表示されない場合は、データ セット ビューの列ピッカーを開いて、 [ネイティブ データ タイプ] 列を選択する必要があります。

対応しているデータ型
Qlik Cloud データ型 MySQL データ型

BOOL

BOOL

BYTES

長さが => 1 かつ =< 8095 の場合:

VARBINARY (Length)

長さが => 8096 かつ =< 65535 の場合:

BLOB

長さが => 65536 かつ =< 16777215 の場合:

MEDIUMBLOB

長さが => 16777216 かつ =< 2147483647 の場合:

LONGBLOB

DATE

DATE

TIME

TIME

DATETIME

スケールが 0 以上で 6 以下の場合は:

DECIMAL (p,s)

スケールが 7 以上で 12 以下の場合は:

VARCHAR (37)

INT1

TINYINT

INT2

SMALLINT

INT4

INTEGER

INT8

BIGINT

NUMERIC

スケールが => 0 かつ =< 30 の場合:

DECIMAL (p,s)

スケールが => 31 かつ =< 100 の場合:

VARCHAR (45)

REAL4

FLOAT

REAL8

DOUBLE

STRING

長さが => 1 かつ =< 8095 の場合:

VARCHAR (Length)

長さが => 8096 かつ =< 65535 の場合:

TEXT

長さが => 65536 かつ =< 16777215 の場合:

MEDIUMTEXT

長さが => 16777216 かつ =< 2147483647 の場合:

LONGTEXT

UINT1

UNSIGNED TINYINT

UINT2

UNSIGNED SMALLINT

UINT4

UNSIGNED INTEGER

UINT8

UNSIGNED BIGINT

WSTRING

長さが => 1 かつ =< 8095 の場合:

VARCHAR (Length)

長さが => 8096 かつ =< 65535 の場合:

TEXT

長さが => 65536 かつ =< 16777215 の場合:

MEDIUMTEXT

長さが => 16777216 かつ =< 2147483647 の場合:

LONGTEXT

BLOB

[無制限の LOB サイズを許可] オプションが有効な場合:

  • LONGBLOB

[LOB サイズを制限] オプションが有効な場合:

  • 指定された値が 63 KB 以下の場合:

    BLOB

  • 指定された値が 64 KB 以上の場合:

    LONGBLOB

LOB サイズの制限については、「Metadata」を参照してください。

NCLOB

[無制限の LOB サイズを許可] オプションが有効な場合:

  • TEXT

[LOB サイズを制限] オプションが有効な場合:

  • 指定された値が 63 KB 以下の場合:

    TEXT

  • 指定された値が 64 KB 以上の場合:

    LONGTEXT

LOB サイズの制限については、「Metadata」を参照してください。

CLOB

[無制限の LOB サイズを許可] オプションが有効な場合:

  • TEXT CHARACTER SET UTF-16

[LOB サイズを制限] オプションが有効な場合:

  • 指定された値が 63 KB 以下の場合:

    TEXT CHARACTER SET UTF-16

  • 指定された値が 64 KB 以上の場合:

    LONGTEXT CHARACTER SET UTF-16

LOB サイズの制限については、「Metadata」を参照してください。

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。