Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/08/2006, 15h38   #1
Invité de passage
 
Inscription : août 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 2
Points : 1
Points : 1
Par défaut Transfert de bases d'un serveur vers un autre

Comme ma question précédente posée hier n'a pas eu de succès (zéro réponse), je repose mon problème de façon plus précise :

Je veux transférer mes bases MySQL (version 3.23) depuis mon serveur Linux A vers mon serveur Linux B (sur lequel j'ai MySQL version 4.1).

- J'ai listé toutes les bases du serveur A et je les ai crées sur le serveur B.
- J'ai fait un mysqldump de chaque base du serveur A :

for i in `cat lstbases.txt`
do
mysqldump -u monuser -pmonmdp $i > /Repertoire/Export-$i.sql
done

et j'ai transféré tous ces fichiers sur le serveur B
- Sur le serveur B, j'ai exécuté tous ces sql :

for i in `cat lstbases.txt`
do
mysql -u monuser -pmonmdp $i < /Repertoire/Export-$i.sql
done

Dans l'ensemble, tout se passe plutôt bien, sauf quelque bases dont l'import me renvoie des messages d'erreurs de syntaxe SQL, dus généralement à des noms de champs acceptés par MySQL 3.23 et refusés par MySQL 4.1 :
par exemple, un champ nommé "table" ou "key" ; en les préfixant par exemple du nom de la table (ex. "log_table") et en relançant la requête, ça passe.
Le problème après est que les scripts PHP correspondants ne sont plus en phase, et qu'il faudrait les corriger... Autre exemple, des champs portant comme nom des chiffres ("6", "5", etc...).

Indépendamment de ce problème de syntaxe, ma démarche est-elle valable ?

Il reste aussi à régler le problème éventuel des charsets. Je crois qu'il y a un bin's où il est question des caractères de code UTF-8, et qu'il y a une moulinette qui permet de traiter ça. Quelqu'un peut-il m'en dire plus ?

Encore merci.

R.
rsaintjoanis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 15h50   #2
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Il n'était pas nécessaire de faire un shellscript pour dumper toutes les bases. L'option -A (ou --all-databases) de mysqldump aurait fait le travail

Pour éviter les problèmes avec les noms de colonnes, tu peux tenter l'option --quote-names (-Q). Ca devrait t'éviter de modifier les noms et donc tes scripts.

Concernant l'UTF8, aucune idée !
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 10h54   #3
Invité de passage
 
Inscription : août 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 2
Points : 1
Points : 1
Par défaut Transfert de bases d'un serveur vers un autre (suite)

Merci, Biglo, pour cette réponse rapide.
C'est là qu'on voit que l'autoformation ne donne pas toujours la connaissance en profondeur ...
Le dump avec les options -A -Q a été très efficace en effet, sauf que j'avais quelques bases dont le nom comportait un tiret (créées sans doute sous phpMyAdmin), et l'import m'a donné une erreur au moment de les créer car, contrairement au nom des tables et des champs, le dump n'a pas entouré le nom des bases par des quotes inversées. Je l'ai donc corrigé manuellement dans le SQL, et c'est reparti.
Encore merci.
R.
rsaintjoanis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2006, 13h30   #4
Membre à l'essai
 
Inscription : août 2006
Messages : 59
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 59
Points : 23
Points : 23
Bonjour,
sous phpMyadmin des sites free.fr
j'ai rencontré des probleme avec les caracteres spéciaux en exportant en UFT8...

j'ai de souvenir exporter en en binaire... ou en fr_latin..

peut etre est-ce le meme probleme..
mastronic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h45.


 
 
 
 
Partenaires

Hébergement Web