Problème : vous essayez d'importer des données (en utilisant le fichier mysqldump) dans votre base de données mysql, mais il semble que vous n'avez pas l'autorisation d'effectuer cette opération.
Solution : en supposant que vos données sont migrées, semées et mises à jour dans votre base de données mysql, prenez un instantané à l'aide de mysqldump et exportez-le dans un fichier
mysqldump -u [username] -p [databaseName]
Depuis la documentation mysql:
GTID - Un identifiant global de transaction (GTID) est un identifiant unique créé et associé à chaque transaction validée sur le serveur d'origine (maître). Cet identifiant est unique non seulement pour le serveur dont il provient, mais est unique sur tous les serveurs dans une configuration de réplication donnée. Il existe un mappage 1 à 1 entre toutes les transactions et tous les GTID.
--set-gtid-purged = OFF SET @@ GLOBAL.gtid_purged n'est pas ajouté à la sortie et SET @@ SESSION.sql_log_bin = 0 n'est pas ajouté à la sortie. Pour un serveur sur lequel les GTID ne sont pas utilisés, utilisez cette option ou AUTO. N'utilisez cette option que pour un serveur sur lequel des GTID sont utilisés si vous êtes sûr que l'ensemble GTID requis est déjà présent dans gtid_purged sur le serveur cible et ne doit pas être modifié, ou si vous prévoyez d'identifier et d'ajouter manuellement les GTID manquants.
Ensuite, connectez-vous à votre mysql avec l'utilisateur root, donnez des autorisations, videz-les et vérifiez que vos privilèges d'utilisateur ont été correctement mis à jour.
mysql -u root -p
UPDATE mysql.user SET Super_Priv='Y' WHERE user='johnDoe' AND host='%';
FLUSH PRIVILEGES;
mysql> SHOW GRANTS FOR 'johnDoe';
+
| Grants for johnDoe |
+
| GRANT USAGE ON *.* TO `johnDoe` |
| GRANT ALL PRIVILEGES ON `db1`.* TO `johnDoe` |
+
rechargez maintenant les données et l'opération devrait être autorisée .
mysql -h [host] -u [user] -p[pass] [db_name] < [mysql_dump_name].sql
DEFINER
lorsque l'utilisateur connecté n'a pas leSUPER
privilège (qui lui-même n'est pas autorisé dans RDS) permettrait une élévation arbitraire des privilèges - les programmes stockés s'exécutent avec les informations d'identification et les privilèges de leurDEFINER
(par opposition à ceux de l'utilisateur appelant - leurINVOKER
), par défaut. Également à Server Fault .