Forum Clubic

[SQL] comment importer une base mySQL?

Bonjour,

Je suis sous Windows NT4.0 Workstation et j’utilise mySQL Server 4.1.
Je cherche à copier une base mySQL vers une autre base mySQL distante.
J’ai essayé plusieurs méthodes mais aucune marche pour l’instant:

  • utilisation de mySQL Administrator: j’ai créé une copie de la base vers un fichier .sql à l’aide de ‘Backup’ et j’ai essayé de restaurer ce fichier vers la nouvelle base (mêmes noms, mêmes tables) par ‘Restore’ mais le script se lance puis message d’erreur N°0.
  • copie du dossier C:/Program Files/MySQL/MySQL Server 4.1/data. J’ai l’impression que ca marche mais j’ai peur qu’une copie directe ne soit pas très propre.
  • enfin, connexion à la base mySQL pour récupérer les données en réseau: le problème, c’est que je ne sais pas comment me connecter à une base distante? Quels privilèges faut-il avoir pour l’utilisateur qui souhaite se connecter?

Merci de votre aide

c’est bon j’ai réussi avec la commande mysqldump!
Maintenant, j’aimerai bien me connecter sur une base distante pour pouvoir exécuter cette commande depuis mon pc.

Help svp [:aliceke]

bah pour te connecter à une base distante, si le serveur mysql est accessible (vérifier port firewall, etc …), il te suffit de faire
mysql -h IP -P port_mysql -u user -p

il va te demander le mot de pass de l’utilisateur. ce dernier doit exister pour l’hote spécifier lors de la connexion. ensuite, bah, tu as juste à te servir des commandes SQL :oui:

je dirais en complément de KisSCoOl :

mysql -h IP -P port_mysql -u user -p < fichier.sql

Merci! [:aliceke]

Donc, récapitulons. Pour que je me connecte à la base distante du PC d’adresse IP ‘192.168.0.3’ avec le compte utilisateur ‘toto’, je dois taper:

mysql -h 192.168.0.3 -P 3306 -u toto -ptoto

(je me rappelle plus exactement du numéro de port mais ca doit être ça)

Il faut que je définisse dans la base distante l’utilisateur ‘toto’. Mais comment on définit pour que cet utilisateur puisse accéder à cette base à distance? C’est fait par défaut?

NB: J’ai vu dans la base ‘mysql’.‘user’:

Host: localhost
user: root

Host: %
user: toto

Que signifie le ‘%’? (désolée de vous demander tout ça mais je ne peux plus faire de recherche sur internet, plantage du PC toutes les 2 mn!!! Et je dois trouver la solution avant mardi!! Je ne peux même pas tester avant :sweat: quel stress!!)

% signifie n’importe quel serveur

et si tu plantes toutes les deux minutes, inquiétes de savoir si t’as pas un virus (SoBer je crois)

% indique “tout serveur” > donc normalement c’est bon :oui:

ok, j’ai réussi à me connecter à partir d’une adresse ip fixe. Le pb, c’est que certains pc ont une adresse ip automatiquement par dhcp. Comment faire?

utiliser le DNS ou nom d’hote du PC …

j’avais trouvé la soluce. Merci quand même :slight_smile:
J’ai un autre pb maintenant :stuck_out_tongue:

Voici un échantillon réduit de mes 2 bases de données (je n’ai mis que quelques attributs):

db1:
ID NUM_LOT DATE

1 V4E3588 2005 14-04 14:22
2 V4E3588 2005 14-04 15:24
3 P2Z4345 2005 01-05 10:16
4 P2Z4345 2005 12-05 14:54

db2:
ID NUM_LOT DATE

1 V4E3588 2005 14-04 14:30
2 V4E3588 2005 14-04 15:32
3 P2Z4345 2005 01-06 16:12

Il faudrait que je puisse insérer les tuples de la base db2 vers la base db1 en respectant l’ordre des dates. Ce qui me gêne, c’est la numérotation des clés ID. Comment faire pour insérer les tuples tout en mettant à jour la clé ID??

Je pensais récupérer dans une nouvelle table les tuples des 2 tables sans l’ID en les classant par rapport à leurs dates et ensuite, créer un nouveau ID qui s’autoincrémente. Par contre, il faut espérer que je ne tombe pas sur des tuples qui ont les mêmes valeurs d’attributs (sans l’ID).

Voilà

Merci de votre aide [:aliceke]

NB: Comment fait-on pour classer par date?

TU sais que tu peux préciser l’id auto_increment même dans tes INSERT?

TU sais que tu peux préciser l’id auto_increment même dans tes INSERT?

En fait, je n’ai plus besoin de faire ca :slight_smile:
Merci quand même :wink:

Je dois maintenant faire le soft en visual basic! Interfacer une base mySQL avec VB6, je crois que je vais m’amuser!!

bah, en VB, à mon avis, t’as tout intérêt à utiliser le connecteur ODBC de mySQL …
comme ça, tu utilises ODBC dans VB, et pas besoin de recoder une API entière :slight_smile: