このトピックでは、PolarDB for MySQL インスタンスの標準アカウントを作成し、データ移行のさまざまなフェーズで必要な最小限の権限をアカウントに付与する方法について説明します。
背景
PolarDB for MySQL インスタンスは、特権アカウントと標準アカウントの 2 種類のデータベースアカウントをサポートしています。データ伝送サービスを使用して PolarDB for MySQL インスタンスからデータを移行する場合は、次のルールに従ってください。
特権アカウントを使用する場合、デフォルトですべてのデータベースに対する読み取り/書き込み権限があります。
重要PolarDB for MySQL インスタンスには、特権アカウントを 1 つだけ作成できます。
標準アカウントを使用する場合は、このトピックの説明に基づいてアカウントに権限を付与します。
標準アカウントの権限には、[読み取り専用]、[読み取り/書き込み]、[DML のみ]、[DDL のみ]、および [読み取り専用 + インデックス] 権限が含まれます。詳細については、「アカウント権限」をご参照ください。
この例では、PolarDB for MySQL インスタンス用に標準アカウントが作成されます。PolarDB for MySQL データソースを作成するときに、[ユーザー名] フィールドにこのアカウントを指定します。
PolarDB for MySQL インスタンスの標準アカウントを作成する
[アカウント] ページに移動します。
ApsaraDB for PolarDB コンソール にログオンします。
左側のナビゲーションウィンドウで、[クラスタ] をクリックします。
[クラスタ] ページの左上隅で、ターゲットクラスタのリージョンを選択し、クラスタ ID をクリックします。
クラスタの詳細ページで、左側のナビゲーションウィンドウの [設定と管理] > [アカウント管理] を選択します。
[アカウント] ページで、[アカウントの作成] をクリックします。
[アカウントの作成] ダイアログボックスで、パラメーターを設定します。
パラメーター
説明
[アカウント名]
アカウントのユーザー名には、小文字、数字、およびアンダースコア (_) を使用できます。小文字で始まり、小文字または数字で終わる必要があります。 2 ~ 32 文字の長さで、root や admin などの予約済みのユーザー名にすることはできません。
[アカウントタイプ]
[標準アカウント] を選択します。
[承認済みデータベース]
アカウントがアクセスできる 1 つ以上のデータベースを選択します。
左側の [未承認のデータベース] リストで、1 つ以上のデータベースを選択し、[>] をクリックして右側のリストに追加します。
左側の [承認済みデータベース] リストで、各データベースに対して [読み取り/書き込み]、[読み取り専用]、[DML のみ]、[DDL のみ]、または [読み取り専用 + インデックス] 権限をアカウントに付与します。
[パスワード]
パスワードは 8 ~ 32 文字の長さで、次の 4 種類の文字のうち 3 種類以上を含める必要があります。大文字、小文字、数字、特殊文字。サポートされている特殊文字は次のとおりです。! @ # $ % ^ & * ( ) _ + - =
[パスワードの確認]
パスワードをもう一度入力します。
[備考]
アカウントに関する追加情報を入力します。 2 ~ 256 文字の長さで、
http://
またはhttps://
で始めることはできません。[OK] をクリックします。
ソース PolarDB for MySQL インスタンスの標準アカウントに権限を付与するPolarDB for MySQL インスタンス
次の表に、データ移行のさまざまなフェーズで PolarDB for MySQL インスタンスの標準アカウントに必要な最小限の権限を示します。逆増分同期フェーズでソースアカウントに読み取り/書き込み権限を付与する場合、ソースに必要な権限は逆増分同期のデータタイプによって異なります。たとえば、逆増分同期のデータタイプが DDL の場合は、ソースアカウントに [DDL のみ] 権限を付与する必要があります。逆増分同期のデータタイプが DML の場合は、ソースアカウントに [DML のみ] 権限を付与する必要があります。
増分同期では、データ伝送サービスは、ソースで DML または DDL 変更操作が実行された後に生成されたログを取得して解析し、ターゲットに書き込みます。
説明タスクの設定時に 差分同期 を選択した場合、アカウントにはソースのすべてのテーブルに対する読み取り権限が必要です。そうでない場合、タスクが中断される可能性があります。
逆増分同期では、データ伝送サービスは、ターゲットで DML または DDL 変更操作が実行された後に生成されたログを取得して解析し、ソースに書き込みます。
テーブルタイプ | スキーマ移行 | フル移行 | 増分 DML 操作同期 | 増分 DDL 操作同期 | フル検証 | 逆増分同期 |
プライマリキーまたは NULL 以外のユニークキーを持つテーブル | 読み取り専用 | 読み取り専用 | 読み取り専用 | 読み取り専用 | 読み取り専用 |
|
プライマリキーまたは NULL 以外のユニークキーがないテーブル | 読み取り専用 | 読み取り専用 | 読み取り専用 | 読み取り専用 | サポートされていません |
|
ターゲット PolarDB for MySQL インスタンスの標準アカウントに権限を付与する
テーブルタイプ | スキーマ移行 | フル移行 | 増分 DML 操作同期 | 増分 DDL 操作同期 | フル検証 | 逆増分同期 |
プライマリキーまたは NULL 以外のユニークキーを持つテーブル | 読み取り専用 | 読み取り専用 | 読み取り専用 | 読み取り専用 | 読み取り専用 |
|
プライマリキーまたは NULL 以外のユニークキーがないテーブル | ターゲットが PolarDB for MySQL インスタンスの場合、データ伝送サービスは、プライマリキーまたは NULL 以外のユニークキーがないテーブルの移行または同期をサポートしていません。 |