2010-03-22 4 views
0

Comment transférer des lignes spécifiques d'une base de données MySQL sur un serveur vers un autre sur un serveur complètement différent. De plus, les schémas ne doivent pas nécessairement être identiques. Par exemple sur le serveur "A" je pourrais avoir une table Utilisateurs avec 2 colonnes et sur le serveur "B" avoir une table Utilisateurs avec 4 colonnes.Transférer des enregistrements d'une base de données MySQL vers une autre

Merci.

Répondre

1

Vous devriez préciser « lignes spécifiques 'et spécifiez si seulement une table ou plusieurs.

mysqldump [options] [nom_base [nom_de_table ...]] peut faire beaucoup
-c va créer des inserts avec les noms de colonnes
-w s'appliqueront lorsque l'état, par exemple -w "userid = 1"

si

mysqldump -c -w"column=value" db table > table.sql 

pourrait vous arriver.

encarts avec les noms de colonnes pourraient travailler avec le schéma légèrement différent (en fonction de l'intégrité ref)

0

faire le tableau 4 colonnes sur le serveur A, les données INSERT SELECT dans cette table, puis faire un dump SQL de la table, puis exécuter cette décharge sur le serveur B,

0

Si vos tables ne sont pas trop grand, je suggère d'abord la création d'une table tmp sur le côté que vous obtenez les données. La table tmp doit correspondre aux colonnes du côté où vous exportez les données. Insérez toute la table d'exportation dans la table tmp.

Pour créer les tables tmp vous auriez donc quelque chose comme ceci:

create table tmpuser as select col1, col2, ... from user; 

ensuite de transférer les données:

mysqldump --no-create-db --no-create-info db tmptablelist > dump.sql 

importation à l'autre bout en utilisant:

mysql db < dump.sql 
Questions connexes