データ転送サービスをデータ移行または同期に使用する前に、まず、ソースおよびターゲットのデータソースにデータ移行または同期タスク専用のデータベースユーザーを作成する必要があります。
OceanBase データソース
OceanBase データベースユーザーの作成
この例では、OceanBase データベースユーザーが作成されます。 データベースユーザー名[インスタンスタイプ] フィールドが [VPC 内のセルフマネージドデータベース] に設定されている OceanBase データソースを作成する際に、OceanBase クラスタインスタンスで標準アカウントを作成し、そのアカウントに権限を付与する フィールドにこのユーザーを指定します。 OceanBase クラスタインスタンスのデータベースユーザーを作成し、データベースユーザーに権限を付与する方法については、「」をご参照ください。
システム管理者として ApsaraDB for OceanBase コンソールにログインします。
ソースビジネステナントにデータ移行または同期用のユーザーを作成します。
OceanBase データベースの MySQL テナント
CREATE USER '<user_name>' IDENTIFIED BY '<password>';OceanBase データベースの Oracle テナント
CREATE USER '<user_name>' IDENTIFIED BY <password>;
GRANT文を使用して、作成したデータベースユーザーに権限を付与します。 詳細については、「ユーザー権限」をご参照ください。
DRC ユーザーの作成
OceanBase データベースから増分ログデータとデータベースオブジェクトスキーマを読み取る必要がある場合は、ソースの sys テナントにデータレプリケーションセンター(DRC)ユーザーを作成する必要があります。
この例では、DRC ユーザーが作成されます。 OceanBase データソースを作成するときに、[詳細オプション] セクションの [ユーザー名] フィールドにこのユーザーを指定します。

CREATE USER <drc_user> IDENTIFIED BY '<drc_password>';
GRANT SELECT ON <db_name>.* TO <drc_user>;__oceanbase_inner_drc_user ユーザーの作成
プライマリキーのないテーブルを移行する必要がある場合は、データ移行タスクを実行する前に、ユーザーを作成し、実際の状況に基づいて必要な権限をユーザーに付与する必要があります。
ソースが OceanBase データベースの MySQL テナントである場合は、ソースビジネステナント に
__oceanbase_inner_drc_userユーザーを作成する必要があります。この例では、
__oceanbase_inner_drc_userユーザーが作成されます。 __oceanbase_inner_drc_user パスワードテナントの種類MySQL フィールドが に設定されている OceanBase データソースを作成する際に、 フィールドにこのユーザーのパスワードを指定します。
ユーザーの作成
CREATE USER __oceanbase_inner_drc_user IDENTIFIED BY '<password>';権限の付与
GRANT SELECT ON *.* TO __oceanbase_inner_drc_user;
ソースが OceanBase データベースの Oracle テナントである場合は、ソースビジネステナント に
__OCEANBASE_INNER_DRC_USERユーザーを作成する必要があります。この例では、
__OCEANBASE_INNER_DRC_USERユーザーが作成されます。 __OCEANBASE_INNER_DRC_USER パスワードテナントの種類Oracle フィールドが に設定されている OceanBase データソースを作成する際に、 フィールドにこのユーザーのパスワードを指定します。
ユーザーの作成
CREATE USER '__OCEANBASE_INNER_DRC_USER' IDENTIFIED BY <your_password>;権限の付与
OceanBase データベースバージョン
権限付与のための文
V2.2.77 より前
GRANT CREATE SESSION TO '__OCEANBASE_INNER_DRC_USER'; GRANT SELECT ON *.* TO '__OCEANBASE_INNER_DRC_USER';V2.2.77 以降
GRANT CREATE SESSION TO '__OCEANBASE_INNER_DRC_USER'; GRANT SELECT ANY DICTIONARY TO '__OCEANBASE_INNER_DRC_USER';次のいずれかの方法で、移行するデータベーステーブルに対する
SELECT権限を付与できます。// システム権限を付与します。 GRANT SELECT ANY TABLE TO '__OCEANBASE_INNER_DRC_USER'; // 特定のデータベーステーブルオブジェクトに権限を付与します。 GRANT SELECT ON <schema>.<table> TO '__OCEANBASE_INNER_DRC_USER';
MySQL データソース
この例では、MySQL データベースユーザーが作成されます。 MySQL データソースを作成する際に、データベースユーザー名MySQL データソース フィールドにこのユーザーを指定します。 さまざまなタイプのインスタンスのデータベースユーザーを作成し、権限を付与する方法については、「」をご参照ください。
MySQL データベースにログインします。
CREATE USER文を使用して、ユーザーを作成します。CREATE USER '<user_name>'@'<host_name>' IDENTIFIED BY '<user_password>';パラメーター
説明
user_name
作成するユーザーの名前。
host_name
ユーザーがデータベースにログインするホスト。 ユーザーが任意のホストからデータベースにログインできるようにするには、パーセント記号(%)を使用します。
user_password
ユーザーのパスワード。
たとえば、
testという名前のユーザーを作成し、ユーザーが任意のホストから MySQL データベースにログインできるようにし、ログインパスワードをpasswordに設定するには、次の文を実行します。CREATE USER 'test'@'%' IDENTIFIED BY 'password';GRANT文を使用して、作成したデータベースユーザーに権限を付与します。 詳細については、「ユーザー権限」をご参照ください。
Oracle データソース
この例では、Oracle データベースユーザーが作成されます。 Oracle データソースを作成する際に、データベースユーザー名 フィールドにこのユーザーを指定します。
Oracle データベースにログインします。
CREATE USER文を使用して、ユーザーを作成します。CREATE USER <user_name> IDENTIFIED BY "<password>";GRANT文を使用して、作成したデータベースユーザーに権限を付与します。 詳細については、「ユーザー権限」をご参照ください。
TiDB データベースユーザー
この例では、TiDB データベースユーザーが作成されます。 TiDB データソースを作成する際に、データベースユーザー名 フィールドにこのユーザーを指定します。
TiDB データベースにログインします。
データ移行または同期のために TiDB データベースにユーザーを作成します。
CREATE USER '<user_name>'@'<host_name>' IDENTIFIED BY '<user_password>';パラメーター
説明
user_name
作成するユーザーの名前。
host_name
ユーザーがデータベースにログインするホスト。 ユーザーが任意のホストからデータベースにログインできるようにするには、パーセント記号(%)を使用します。
user_password
ユーザーのパスワード。
GRANT文を使用して、作成したデータベースユーザーに権限を付与します。 詳細については、「ユーザー権限」をご参照ください。