> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MySQL

CData Sync アプリケーションからMySQL コネクタを使用して、MySQL からデータを取得してサポートされている任意の同期先に移動できます。これを行うには、コネクタを追加し、コネクタへの認証を行い、接続を完了する必要があります。## MySQL コネクタを追加するSync でMySQL のデータを使用できるようにするには、まず以下の手順でコネクタを追加する必要があります：<ol>
  <li>Sync のダッシュボードから**接続**ページを開きます。</li>
  <li>**接続を追加**をクリックして**コネクタを選択**ページを開きます。</li>
  <li>**データソース**タブをクリックして
  **MySQL** 行に移動します。</li>

  <li>
    行末にある**接続を設定**アイコンをクリックして、**新しい接続**ページを開きます。この操作により、
    **接続を追加**ダイアログボックスが開きます。

    **Note：** **接続を設定**アイコンが表示されない場合は、**コネクタをダウンロード**アイコンをクリックして MySQL コネクタをインストールしてください。
  </li>

  <li>**接続を追加**ダイアログボックスに接続名を入力します。</li>
  <li>**追加**をクリックして、コネクタの**設定**タブを開きます。</li>
</ol>新しいコネクタのインストールについての詳細は、
[接続](https://docs.sync.cdata.com/26.4/ja/connections/connections.md)を参照してください。## MySQL への認証コネクタを追加したら、必要なプロパティを設定します。- **Server：** MySQL データベースをホストしているサーバーのホスト名またはIP アドレスを入力します。同じマシンからデータベースに接続するには、**Server** の値として**localhost** を入力します。
- **Port：** MySQL データベースをホストしているサーバーのポート番号を入力します。デフォルトのポート値は**3306**です。CData Sync は、いくつかの方法でMySQL への認証をサポートしています。以下から認証方法を選択し、認証の詳細を含む該当セクションに進みます。- [**Password**](#password)（デフォルト）
- [**NTLM**](#ntlm)
- [**AzureAD**](#azure-active-directory)
- [**AzurePassword**](#azurepassword)
- [**AzureMSI**](#azure-managed-service-identity)
- [**AwsIAMRoles**](#aws-iam-ロール)
- [**AwsEC2Roles**](#aws-ec2-roles)
- [**LDAP**](#ldap)### Passwordユーザー資格情報で接続するには、次のプロパティを設定します：<ul><li>\*\*Auth Scheme：\*\***Password** を選択。</li>
<li>\*\*User：\*\*MySQL アカウントへの認証に使用するユーザー名を入力。</li>
<li>\*\*Password：\*\*MySQL アカウントへの認証に使用するパスワードを入力。</li></ul>### NTLMNTLM ユーザー資格情報で接続するには、次のプロパティを指定します：- **Auth Scheme：** **NTLM** を選択。
- **Domain：** Microsoft Windows（NTLM）セキュリティログイン用のドメイン名を入力。
- **NTLM Version：** NTLM バージョンを選択。デフォルトバージョンは**1**です。### Azure Active DirectoryAzure Active Directory 資格情報で接続するには、次のプロパティを指定します：- **Auth Scheme：** **AzureAD** を選択。
- **User：** MySQL アカウントへの認証に使用するユーザー名を入力。
- **Azure Tenant：** 接続するMicrosoft Online テナントを入力。テナントを指定しない場合には、CData Sync はデフォルトのテナントを使用します。
- **OAuth Client Id：** OAuth 認証サーバーにアプリケーションを登録した際に割り当てられたクライアントId を入力。
- **OAuth Client Secret：** OAuth 認証サーバーにアプリケーションを登録した際に割り当てられたクライアントシークレットを入力。### AzurePassword
      

Azure パスワードで接続するには、以下を指定します：


      \<ul><li>**Auth Scheme：****AzurePassword** を選択。</li>
        \<li>**User：**Azure への認証に使用するユーザー名を入力。</li>
        \<li>**Password：**Azure への認証に使用するパスワードを入力。</li>
        \<li>**Azure Tenant：**OAuth およびクライアントアプリケーションが作成されたAzure テナントのId を入力。このId は、いずれかのアプリケーションの**概要**ページの**ディレクトリ (テナント) ID** で確認できます。</li></ul>
    ### Azure Managed Service IdentityAzure マネージドサービスID 資格情報で接続するには、次のプロパティを指定します：- **Auth Scheme：** **AzureMSI** を選択。
- **Azure Tenant：** ディレクトリ（テナント）Id を入力。このId は、Azure 上のMySQL への認証に使用するOAuth アプリケーションの**Overview** ページで入手できます。### AWS IAM ロールIAM ユーザー資格情報で接続するには、次のプロパティを指定します：- **Auth Scheme：** **AwsIAMRoles** を選択。
- **AWS Access Key：** Amazon Web Services（AWS）アカウントのアクセスキーを入力。この値は、AWS セキュリティ認証情報ページで入手できます。
- **AWS Secret：** Amazon Web Services（AWS）アカウントのシークレットを入力。この値は、AWS セキュリティ認証情報ページで入手できます。
- **AWS Role Arn：** 認証時に使用したいロールのAmazon リソースネームを入力。### AWS EC2 RolesEC2 インスタンスでCData Sync を実行すると、CData Sync はインスタンスに割り当てられたIAM ロールを使用して認証できます。そのロールを使用するには、**Auth Scheme** で**AwsEC2Roles** を選択します。追加のプロパティは必要ありません。### LDAPLDAP 資格情報で接続するには、次のプロパティを指定します：- **Auth Scheme：** **LDAP** を選択。
- **User：** MySQL アカウントへの認証に使用するユーザー名を入力。
- **Password：** MySQL アカウントへの認証に使用するパスワードを入力。## 接続を完了する接続を完了するには：1) 以下のプロパティを指定します：
   * （オプション）**Database：** MySQL Server に接続する際に接続するデフォルトのデータベースを入力。
   * （オプション）**Use SSL：** Secure Sockets Layer（SSL）プロトコルを使用するかどうかを選択。デフォルトでは、**Enable** チェックボックスはオフです。
2) **高度な設定** タブで詳細な接続設定を定義します。（ただし、ほとんどの場合、これらの設定は必要ありません。）
3) **MySQL への接続**をクリックしてMySQL アカウントに接続します。
4) **作成およびテスト**をクリックして接続を作成します。## バイナリログの有効化（変更データキャプチャ用）MySQL データベースでは、変更データキャプチャ（CDC）が自動的に有効になります。ただし、MySQL レプリケーションのバイナリログを有効にする必要があります。*バイナリログ*はトランザクションの更新を記録するため、レプリケーションツールで変更を生成できます。バイナリログを有効にするには、次の前提条件が必要です：- MySQL サーバー
- 適切なMySQL ユーザー権限### バイナリログの有効化1) MySQL プロンプトから次のステートメントを送信して、バイナリログが有効になっているかどうかを確認します：

   ```
   SHOW VARIABLES LIKE 'log_bin';
   ```

   オプションが有効になっていない場合（`OFF` メッセージが表示された場合）は、MySQL サーバーのコンフィギュレーションファイルで次のオプションを設定します：

   ```
   server-id         = 223344
   log_bin           = mysql-bin
   binlog_format     = ROW
   binlog_row_image  = FULL
   expire_logs_days  = 10
   ```

   これらのオプションの説明は、[MySQL バイナリログ設定プロパティ](#mysql-バイナリログ設定プロパティ)をご覧ください。

2) このステートメントを再送信してバイナリログが有効になっていることを確認します：

   ```
   SHOW VARIABLES LIKE 'log_bin';
   ```### MySQL バイナリログ設定プロパティこのセクションでは、ステップ1で使用したオプションの値について説明します：- `server-id`：この値は、MySQL クラスター内の各サーバーおよび各レプリケーションクライアントの一意のId です。
- `log_bin`：このオプションの値は、一連のbinlog ファイルのベース名です。
- `binlog_format`：このオプションのフォーマット値は、`ROW` または`row` のいずれかに設定する必要があります。
- `binlog_row_image`：このオプションの値は`FULL` または`full` に設定する必要があります。
- `expire_logs_days`：この値は、binlog ファイルが自動的に削除されるまでの日数です。デフォルト値は`0` で、自動削除が行われないことを意味します。お使いの環境のニーズに合わせて値を設定してください。## MySQL をリバースETL データソースとして有効化Sync でMySQL をリバースETL データソースとして使用するには、接続するユーザーアカウントが以下のタスクを実行するための適切な権限を持っている必要があります：- データベースとスキーマの作成
- そのスキーマ内のテーブルへのアクセス、変更、削除これらの権限は、Sync がリバースETL 操作中に変更のスナップショットを維持できるようにするために必要です。MySQL で以下のSQL コマンドセットのいずれかを実行することで、必要な権限を付与できます。### オプション1：すべてのスキーマ操作へのフルアクセス権を付与```sql theme={null}
-- データベース作成の権限を付与。
GRANT CREATE ON *.* TO 'Username'@'Host';

-- 特定のスキーマへのフルアクセス権を付与。
GRANT ALL PRIVILEGES ON `cdata_sync_delta_snapshot`.* TO 'Username'@'Host';

-- MySQL バージョンが9.2.0より古い場合は変更を適用。
FLUSH PRIVILEGES;
```### オプション2：必要な特定の権限のみを付与```sql theme={null}
-- データベース作成の権限を付与。
GRANT CREATE ON *.* TO 'Username'@'Host';

-- {siteNameShort} に必要な特定の権限のみを付与。
GRANT SELECT, CREATE, INSERT, ALTER, DELETE, DROP, INDEX ON `cdata_sync_delta_snapshot`.* TO 'Username'@'Host';

-- MySQL バージョンが9.2.0より古い場合は変更を適用。
FLUSH PRIVILEGES;
```## 詳細について


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.