TROCCO®によるTiDB Cloudからのデータ転送はMySQLコネクタでもできた話

# はじめに

諸事情あり（詳しくは[「TiDB Cloudに登録して30分以内にTROCCO®のHTTP・HTTPSコネクタでデータ転送してみた話」](https://qiita.com/SoySoySoyB/items/ea63699205ff78167fdd)にて）、TROCCO®によるTiDBからのデータ転送のタイムアタックに挑戦していたのですが、そのときはMySQLコネクタでの接続方法がすぐにはわからず、さっとできそうだったHTTP・HTTPSコネクタでの転送になってしまいました。

とはいえ、TiDBはMySQL互換です。そこで改めてMySQLコネクタでも試してみたところ、思った通りに使うことができたので、その設定方法についてご紹介しようと思います。

:::note info
- TiDB自体の説明についても上記記事をご確認ください！

- データ投入もできました！
[「TROCCO®のMySQLコネクタでTiDB Cloudにデータを投入してみた話」](https://qiita.com/SoySoySoyB/items/4ebe1cd70798bef3eef9)
:::


# 設定方法を考える

TROCCO®で接続先のシステムとの接続設定を作成するには、「接続情報」というものを作成します。今回は、「MySQL」の接続情報に、TiDBをMySQLとみなして関連情報を入力していくことになります。

[MySQLの接続情報](https://documents.trocco.io/docs/connection-configuration-mysql)にも記載がある通り、TROCCO®のMySQLコネクタではJDBCドライバを利用しています。ということは、TiDBでJDBCを利用する方法が分かれば、その設定内容を同じように利用すれば良さそうということがわかります。

そこでTiDBの公式ドキュメントを探してみると、[「JDBC で TiDB に接続する」](https://docs.pingcap.com/ja/tidb/stable/dev-guide-sample-application-java-jdbc)というドキュメントが見つかります。このうち、[「ステップ2: 接続情報を構成する」](https://docs.pingcap.com/ja/tidb/stable/dev-guide-sample-application-java-jdbc#step-2-configure-connection-information)部分の手順を踏襲すれば、MySQLコネクタが利用可能になります。


# TiDBで接続情報を設定する

:::note info
転送対象とするデータの準備が必要な場合、[「TiDB Cloudに登録して30分以内にTROCCO®のHTTP・HTTPSコネクタでデータ転送してみた話」](https://qiita.com/SoySoySoyB/items/ea63699205ff78167fdd#tidb%E3%81%A7%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%BA%96%E5%82%99%E3%81%99%E3%82%8B)に即してご設定ください。
:::

トップページにアクセスし、利用するクラスターを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/5a389a8e-9e84-5475-65fa-bf61509cc661.png)

クラスターのOverviewタブで、右上のConnectをクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/d3289425-c3b3-2925-f0d2-4510aa1af78b.png)

ここで表示される情報が、TROCCO®で接続情報を作る際に利用するものになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/44938117-cac6-b4a6-5d3b-0388059e4f3f.png)


# TROCCO®のMySQL接続情報を作成する

続いて、TROCCO®側の設定をしていきます。まず接続情報を新規作成し、MySQLを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/3f06cd73-150c-0258-17a5-121d263eed69.png)

必要事項を入力していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/5a066943-6ca1-00d6-0107-9b9c6f3e3e57.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/f84feea6-2da3-f641-c725-20b1d9bb4075.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/c233d08b-dc3f-c4ed-0b28-04defad9c0a8.png)

最下部の「接続を確認」をクリックします。チェックマークが付けば適切に疎通できていることが確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/4626653b-c7f9-05e5-3db7-382b1a474848.png)


# TROCCO®の転送設定を作成する

接続情報が作成できたら、転送設定を作成していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/8e9ef338-b931-9568-802c-a9762904b385.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/76388d26-62d7-2041-409a-3da7f0da61c0.png)

同じく必要事項を入力後に、「接続を確認」をクリックすることで疎通確認ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/932e4b89-2f42-be68-5694-fe57f32caa80.png)

そのほか、転送先の設定は適宜必要事項を入力してください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/28857fef-3e64-0a66-b393-6982ba3f049e.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/96d7fe84-f2e1-f742-6ccc-0179a06fec7d.png)

先に進むとデータプレビューが表示され、データが適切に取得できていることがわかります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3492462/f90fe43b-3081-7a28-91b3-8c6ca94da24b.png)


# さいごに

TiDBはMySQL互換であることで、MySQLコネクタでも対応可能なことが確認できました。クエリも記載できるので通常のデータ転送方法としてはこちらの形で良さそうですが、とはいえData Serviceもなかなか面白い仕組みですので、用途に合わせて使い分けをするといいのではないでしょうか。