Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment exporter et importer un utilisateur existant (avec ses privilèges !)

L'un des moyens les plus simples que j'ai trouvés pour exporter des utilisateurs consiste à utiliser l'outil pt-show-grants de Percona. Le kit d'outils Percona est gratuit, facile à installer et à utiliser, avec beaucoup de documentation. C'est un moyen facile de montrer tous les utilisateurs ou des utilisateurs spécifiques. Il répertorie toutes leurs subventions et sorties au format SQL. Je vais donner un exemple de la façon dont j'afficherais toutes les autorisations pour test_user :

shell> pt-show-grants --only test_user

Exemple de sortie de cette commande :

GRANT USAGE ON *.* TO 'test_user'@'%' IDENTIFIED BY PASSWORD '*06406C868B12689643D7E55E8EB2FE82B4A6F5F4';
GRANT ALTER, INSERT, LOCK TABLES, SELECT, UPDATE ON `test`.* TO 'test_user'@'%';

Je redirige généralement la sortie dans un fichier afin de pouvoir modifier ce dont j'ai besoin ou de la charger dans mysql.

Alternativement, si vous ne souhaitez pas utiliser l'outil Percona et souhaitez effectuer un vidage de tous les utilisateurs, vous pouvez utiliser mysqldump de cette manière :

shell> mysqldump mysql --tables user db > users.sql

Remarque :--flush-privileges ne fonctionnera pas avec cela, car l'intégralité de la base de données n'est pas vidé. cela signifie que vous devez l'exécuter manuellement.

shell> mysql -e "FLUSH PRIVILEGES"