Comment créer un autre utilisateur principal pour mon instance de base de données Amazon RDS qui exécute MySQL ?

Date de la dernière mise à jour : 20/08/2020

Je souhaite obtenir un autre utilisateur disposant des mêmes autorisations que l'utilisateur principal pour mon instance de base de données Amazon Relational Database Service (Amazon RDS) ou Amazon Aurora MySQL. Comment dupliquer ou cloner l'utilisateur principal ?

Résolution

Une instance de base de données RDS qui exécute MySQL ne peut avoir qu'un seul utilisateur principal, mais il est possible de créer un autre utilisateur disposant des mêmes autorisations que l'utilisateur principal. Pour créer un autre utilisateur disposant des autorisations principales, suivez les étapes ci-dessous :

1.    Exécutez la commande AFFICHER LES AUTORISATIONS pour obtenir une liste des autorisations actuellement disponibles pour l'utilisateur principal, et copier cette liste d'autorisations à utiliser ultérieurement :

mysql> SHOW GRANTS for master_username;

La commande fournit une sortie similaire à celle-ci :

+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for master_user@% |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, LOAD FROM S3, SELECT INTO S3, INVOKE LAMBDA, INVOKE SAGEMAKER, INVOKE COMPREHEND ON *.* TO 'master_user'@'%' WITH GRANT OPTION |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

Remarque : dans la commande ci-dessus, l'utilisateur principal a le nom d'utilisateur master_user.

2.    Créez un nouvel utilisateur en exécutant la commande CRÉER UN UTILISATEUR :

mysql> CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'password';

Remarque : Remplacez nouvel_utilisateur_principal et mot de passe par votre nom d'utilisateur et votre mot de passe.

3.    Accordez la liste des autorisations que vous avez obtenue à l'étape 1 au nouvel utilisateur en exécutant la commande ACCORDER  :

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user'@'%' WITH GRANT OPTION;

Le nouvel utilisateur dispose désormais des mêmes autorisations que l'utilisateur principal.