Cette rubrique explique comment créer un compte standard pour un locataire compatible MySQL dans une instance de cluster OceanBase, ainsi que la manière d'accorder les privilèges minimaux requis à ce compte lors des différentes phases de migration des données.
Contexte
Une instance de cluster OceanBase en mode compatible MySQL prend en charge trois types de comptes de base de données : le compte standard, le compte superutilisateur et le compte en lecture seule. Lorsque vous utilisez le service de transmission de données pour migrer des données depuis une instance de cluster OceanBase, respectez les règles suivantes :
Si vous utilisez un compte standard, accordez-lui des privilèges conformément aux descriptions fournies dans cette rubrique.
Le compte superutilisateur dispose par défaut des privilèges en lecture/écriture sur toutes les bases de données.
Le compte en lecture seule dispose par défaut du privilège de lecture sur toutes les bases de données.
Dans cet exemple, nous créons un compte standard pour une instance de cluster OceanBase. Spécifiez ce compte dans le champ Username lors de la création d'une source de données OceanBase.

Si vous souhaitez migrer une table dépourvue de clé unique, vous devez également créer un utilisateur __oceanbase_inner_drc_user disposant du privilège de lecture seule avant la migration des données. Ensuite, lors de la création d'une source de données OceanBase, spécifiez le mot de passe de __oceanbase_inner_drc_user.
Créer un compte standard pour une instance de cluster
-
Accédez à la page Cluster Instance Workspace.
Connectez-vous à la console ApsaraDB for OceanBase.
Dans le coin supérieur gauche, sélectionnez la région où se trouve l'instance cible.
Dans le volet de navigation de gauche, cliquez sur Instances puis sur le nom de l'instance cible.
-
Accédez à la page Accounts.
Sur la page Cluster Instance Workspace, cliquez sur Tenant Management dans le volet de navigation de gauche.
-
Sur la page Tenants, cliquez sur le nom du locataire cible dont le Tenant Mode est défini sur MySQL.

Sur la page Tenant Workspace, cliquez sur Account Management dans le volet de navigation de gauche.
-
Sur la page Account Management, cliquez sur Create Account dans le coin supérieur droit.

-
Dans la boîte de dialogue Create Account, configurez les paramètres.

Paramètre
Description
Username
Le nom du compte peut contenir des lettres, des chiffres et des traits de soulignement (_). Il doit commencer par une lettre, se terminer par une lettre ou un chiffre, et ne pas dépasser 32 caractères.
Account Type
Sélectionnez Normal Account.
Accessible Databases (Facultatif)
Sélectionnez une ou plusieurs bases de données accessibles au compte.
Dans la liste Unauthorized située à gauche, sélectionnez une ou plusieurs bases de données et cliquez sur > pour les ajouter à la liste de droite.
Dans la liste Authorized, accordez au compte le privilège Read/Write, Only DDL, Only DML ou Read-only pour chaque base de données.
Password
Le mot de passe doit comporter entre 10 et 32 caractères et inclure au moins trois des quatre types de caractères suivants : lettres majuscules, lettres minuscules, chiffres et caractères spéciaux. Les caractères spéciaux pris en charge sont les suivants : ! @ # $ % ^ & * ( ) _ + - =. Vous pouvez cliquer sur Randomly generated pour générer automatiquement un mot de passe aléatoire.
RemarqueVous pouvez également cliquer sur Copy Password pour copier le mot de passe et le conserver en toute confidentialité.
Remarks (Facultatif)
Saisissez la description du compte.
Cliquez sur OK.
Accorder des privilèges à un compte standard dans une instance de cluster source
Le tableau suivant répertorie les privilèges minimaux requis pour un compte standard dans une instance de cluster OceanBase source (mode compatible MySQL) lors des différentes phases de migration des données.
Type de table | Migration du schéma | Migration complète | Synchronisation incrémentielle des opérations DML | Synchronisation incrémentielle des opérations DDL | Vérification complète | Incrémentation inverse |
Table avec une clé primaire ou une clé unique non nulle | Lecture seule | Lecture seule | Lecture seule | Lecture seule | Lecture seule |
|
Table sans clé primaire ni clé unique non nulle | Lecture seule |
| Lecture seule | Lecture seule | __oceanbase_inner_drc_user requis |
|
Accorder des privilèges à un compte standard dans une instance de cluster cible
Le tableau suivant répertorie les privilèges minimaux requis pour un compte standard dans une instance de cluster OceanBase cible (mode compatible MySQL) lors des différentes phases de migration des données.
|
Type de table |
Migration du schéma |
Migration complète |
Synchronisation incrémentielle des opérations DML |
Synchronisation incrémentielle des opérations DDL |
Vérification complète |
Incrémentation inverse des opérations DML |
Incrémentation inverse des opérations DDL |
|
Table avec une clé primaire ou une clé unique non nulle |
Only DDL |
Lecture/Écriture |
Lecture/Écriture |
Only DDL |
Lecture seule |
Lecture seule |
Lecture seule |
|
Table sans clé primaire ni clé unique non nulle |
Only DDL |
Lecture/Écriture |
Lecture/Écriture |
Only DDL |
Non pris en charge |
Lecture seule |
Lecture seule |
Créer __oceanbase_inner_drc_user et lui accorder des privilèges
Connectez-vous à la console ApsaraDB for OceanBase et accédez à la page Tenant Workspace.
-
Sur la page Tenant Workspace, cliquez sur Log on to Database dans le coin supérieur droit.
Vous pouvez également accéder à la page Database Management pour vous connecter.

Dans la boîte de dialogue Enter a database account, saisissez le nom de la base de données à laquelle vous souhaitez vous connecter, puis cliquez sur OK.
Dans la boîte de dialogue Enter the connection password, saisissez le mot de passe de connexion à la base de données, puis cliquez sur OK.
-
Après la connexion, exécutez la commande suivante pour créer l'utilisateur
__oceanbase_inner_drc_user:create user __oceanbase_inner_drc_user identified by '<password>'; -
Exécutez la commande suivante pour accorder des privilèges à l'utilisateur :
grant select on *.* to __oceanbase_inner_drc_user;