Version complète: sur le forum Webmaster Hub : Copier mes bases MySQL en local
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > SQL
ams51
Bonjour,
Je suis en train de monter un serveur de test chez moi (il était temps après 6 ans a développer directement sur la prod). On a réussi a monter le serveur et faire fonctionner PHP. Maintenant le pb est d'importer les bases de mon serveur de prod sur le serveur de dev.
Idéalement je voudrais que chaque base ait les mêmes acces (login/pass) et le même contenu.

N'y connaissant pas grand chose je voudrais ne pas faire de bétises.
Je pense utiliser les commandes mysql et/ou mysqldump mais est ce suffisant pour avoir les mêmes login/pass ? y a t il des fichiers utilisateurs à rapatrier aussi ?
Dan
Si tu as exactement les même versions chez toi, tu peux exporter les bases de données, ainsi que la base mysql.

C'est cette dernière qui comporte les login/mots de passe.

Tu peux aussi (comme alternative) copier l'intégralité du répertoire /home/mysql, mais il faut pour cela que mysql soit arrêté sur les 2 serveurs !
ams51
Merci Dan.
Je vais faire ça lundi...
ams51
CITATION(Dan @ vendredi 19 septembre 2008 à 16:42) *
Si tu as exactement les même versions chez toi, tu peux exporter les bases de données, ainsi que la base mysql.


ça aurait été trop simple... j'ai une version 4.1.20 en prod et 5.0.32 en local

Est ce que passer en Mysql 5 sur mon serveur implique de gros changements ? Plantage, compatibilité ?
silexian
Bonjour,

je te conseille de faire un export de la base en sélectionnant la compatibilité MYSQL 4.0 dans ce cas là.
C'est une option sur la page d'export.

--> Si tu exportes en 4.0, que tu travailles avec cette version, tu restes en 4.0
--> Ensuite pour la remettre en Prod, tu réexportes en 4.0

Je l'ai déjà fait sur plein de sites, le seul danger (ça m'est arrivé 2X), c'est de me planter sur le charset qui était différent de la 4.0 à la 5.0, mais bon, c'est ma faut, je passais d'un serveur mysql FR à US ou l'inverse... Donc fait attention.

Lolo
Dan
La différence majeure entre la version 4 et la version 5 est dans l'analyse de la syntaxe des "join" ...
La version 5 est moins permissive que la version 4 sur le plan syntactique, et il faut éventuellement utiliser les parenthèses pour que le "join" se fasse comme tu le souhaites.
ams51
En fait je passe les bases de la prod (mysql4) sur la dev (mysql5)... si tout fonctionne je passerai la prod en mysql5

Voilà ce que j'ai fait pour exporter

CODE
mysqldump --all-databases --add-drop-table -u -p | gzip > all_databases.sql.gz


et pour importer j'ai un pb avec le final en gras...

CODE
zcat all_databases.sql.gz | mysql -u -p < [b]quoi mettre là ??[/b]


je me suis inspiré de
http://www.webmaster-hub.com/index.php?sho...mp;hl=mysqldump
et
http://www.manuelphp.com/mysql/mysqldump.php

CITATION(Dan @ mardi 23 septembre 2008 à 10:54) *
La différence majeure entre la version 4 et la version 5 est dans l'analyse de la syntaxe des "join" ...
La version 5 est moins permissive que la version 4 sur le plan syntactique, et il faut éventuellement utiliser les parenthèses pour que le "join" se fasse comme tu le souhaites.


ok merci smile.gif je vais tester tout ça.... si mon forum invision et wordpress passent alors tout ira bien.
Dan
Tu aurais dû le faire base par base... au moins cela te permet de restaurer plus facilement.

Et pour Invision et Wordpress, aucun souci avec les versions récentes.

Pour faire toutes tes bases, tu peux par exemple lancer situ en as beaucoup :
CODE
cd /home/mysql # soit le répertoire où sont tes bases
for i in `ls -l | grep "^d" | awk '{print $8}'` #remplacer éventuellement $8 par $9  ... tout dépend du format de sortie de ton "ls"
do
echo $i
mysqldump -u$USER -p$PASSWORD -e -q -Q --add-drop-table $i | gzip > $REPl/$i.sql.gz
done


en remplaçant $USER, $PASSWORD et $REP par l'utilisateur (root), mot de passe et répertoire de destination.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.