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?
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.
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:
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 quel stress!!)
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?
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).
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