Copier des données d'une base de données à une autre dans MySQL
- Copier des données d’une base de données à une autre
- Copier les données du serveur MySQL vers le serveur MS SQL
- Conclusion
Nous découvrirons différentes façons de copier des données d’une base de données à une autre.
Cette stratégie de copie des données est très utile en réplication de données. En raison de la réplication des données, les données peuvent être servies sur différents serveurs et mises à la disposition de tous les utilisateurs sans aucune incohérence.
Les avantages de la réplication des données incluent une disponibilité et une fiabilité accrues des données et une réduction des frais généraux de communication. Nous pouvons copier la base de données complète ou partielle d’un serveur de base de données à un autre.
Dans ce didacticiel, nous verrons comment copier des données dans MySQL (avec le même utilisateur), MS SQL Server (avec le même utilisateur) et de MySQL vers MS SQL Server (ayant différents utilisateurs).
Copier des données d’une base de données à une autre
Utilisation du serveur MySQL
Nous avons deux bases de données nommées students
et person
dans notre serveur MySQL. La base de données person
a une table nommée customers
, et la base de données students
a une table nommée student
que nous voulons copier dans la base de données person
.
Il est important de noter que nous copions les données sur un serveur (MySQL 8.0.27) avec un seul utilisateur (root). Nous avons les bases de données (voir encadrés rouges) et tableaux (voir encadrés verts) suivants.
Nous voulons copier la table student
de la base de données students
vers la base de données person
en utilisant la requête SQL suivante.
#MySQL Version 8.0.27
CREATE TABLE person.students SELECT * FROM students.student;
Observez les bases de données et les tables après avoir copié les données (voir la capture d’écran ci-dessous). Vous pouvez voir deux tables dans la base de données person
, customers
et students
.
Vous avez peut-être remarqué que nous voulions copier la table student
de la base de données source, alors pourquoi est-elle nommée students
dans la base de données de destination ? C’est parce que nous l’avons nommé students
dans la requête SQL.
Utilisation du serveur MS SQL
Ici, nous avons deux bases de données nommées teachers
et person
dans notre serveur MS SQL. La base de données person
a une table appelée customers
, et la base de données enseignants
a une table nommée teacher
que nous voulons copier dans la base de données person
.
Nous copions les données sur un serveur (MS SQL Server) avec un seul utilisateur. Vous pouvez voir les bases de données actuelles (voir les cases rouges) et les tables (voir les cases vertes) dans la capture d’écran ci-dessous.
Nous allons copier une table nommée teacher
de la base de données Teachers
dans la base de données Person
en utilisant la commande suivante.
#MSSQL Server
SELECT * INTO Person..teacher FROM Teachers..teacher;
Vous pouvez voir le tableau copié dans la capture d’écran ci-dessous. Nous avons maintenant deux tables dans la base de données Person
.
Copier les données du serveur MySQL vers le serveur MS SQL
Avez-vous déjà imaginé si vous deviez copier des données de votre base de données vers la base de données d’un autre utilisateur ? Cela signifie qu’il y a différents utilisateurs impliqués (et parfois différentes machines).
Ici, nous verrons comment copier des données du serveur MySQL vers le serveur MS SQL (notez qu’il y a deux utilisateurs sur le même ordinateur, un pour MySQL et l’autre pour MS SQL Server).
Faites un clic droit sur votre base de données dans MS SQL Server et sélectionnez Tâche -> Importer des données
.
Cliquez sur le bouton Suivant dans la capture d’écran suivante.
Dans la capture d’écran suivante, assurez-vous que la source de données est .Net Framework Data Provider for MySQL
, écrivez le nom de la base de données MySQL, le numéro de port et le serveur en tant que students
, 3306
et localhost
, respectivement. Ensuite, cliquez sur Suivant.
Il est important de noter que vous pouvez avoir des noms de base de données et des adresses IP de serveur différents. Nous utilisons deux serveurs sur la même machine ; c’est pourquoi nous avons utilisé localhost
.
Saisissez le username
et le password
du serveur MySQL (voir la capture d’écran ci-dessous) et cliquez sur Suivant.
Assurez-vous que la destination est sélectionnée en tant que SQL Server Native Client 11.0
, confirmez le nom de votre serveur et le nom de la base de données, puis sélectionnez l’authentification. Nous utilisons l’authentification Windows pour ce tutoriel. Cliquez ensuite sur Suivant.
Cliquez sur Suivant sur l’écran suivant.
Rédigez une requête SQL selon vos besoins ; nous copions tous les enregistrements de la table student
à l’aide de la commande suivante. Cliquez sur Suivant.
Écrivez le nom de votre table de destination (le nom qui apparaîtra dans MS SQL Server) et cliquez sur Suivant.
Cliquez sur Suivant sur l’écran ci-dessous.
Dans la capture d’écran suivante, sélectionnez Exécuter immédiatement
(voir encadré vert), ou vous pouvez enregistrer le package et exécuter plus tard (voir encadré rouge). Cliquez sur Suivant.
Cliquez sur Terminer sur l’écran suivant.
Ici, l’écran suivant montre que les données ont été copiées. Cliquez sur Fermer.
Vérifiez votre MS SQL Server pour la table copiée, et vous pouvez voir la case verte dans la capture d’écran suivante.
Conclusion
Compte tenu de la discussion ci-dessus, nous avons conclu qu’il est important d’apprendre à copier des données d’une base de données à une autre pour diverses raisons, notamment les problèmes de sécurité, la disponibilité et la fiabilité des données, etc. Nous pouvons également fournir l’accès aux données à différents utilisateurs dans le monde.