Quelle est la meilleure méthode pour copier les données d'une table dans une base de données vers une table dans une autre base de données lorsque les bases de données sont sous différents utilisateurs ?
Je sais que je peux utiliser
INSERT INTO database2.table2 SELECT * from database1.table1
Mais ici le problème est que les deux database1
et database2
sont sous différents utilisateurs de MySQL. Donc user1
peut accéder database1
seulement et user2
peut accéder database2
seulement. Une idée ?
6 votes
Vous pouvez accorder des subventions de niveau table aux utilisateurs. voir : dev.mysql.com/doc/refman/5.5/fr/grant.html
2 votes
Malheureusement, cela ne fonctionnera pas dans mon cas, car j'utilise un serveur d'hébergement partagé Godaddy. Ils ne permettent pas de faire de telles choses avec la base de données.
0 votes
@mmdemirbas Une table dans la base de données a presque 1 million de lignes. Le vidage de la base de données sera énorme. De plus, lorsque j'ai essayé d'exporter, seules environ 10000 lignes ont été exportées - probablement en raison de la taille importante.
0 votes
Je sais que vous pouvez utiliser RENAME pour déplacer les tables, et c'est très rapide. Existe-t-il une astuce équivalente pour copier des tableaux ?
0 votes
BTW : Vous devrez veiller à ce que la liste des champs soit dans le même ordre dans les deux tableaux. Sinon, il faudra sélectionner les champs par leur nom dans la table de la base de données 1 pour qu'ils correspondent aux bons champs dans la table de la base de données 2. Ce problème s'est présenté pour moi lorsque j'ai sauvegardé une base de données où la table1 a été modifiée après la création initiale, et la nouvelle base de données où elle a été créée à partir d'un fichier mysqldump.