Aller au contenu

Copier mes bases MySQL en local


Sujets conseillés

Posté

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 ?

Posté

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 !

Posté
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é ?

Posté

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

Posté

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.

Posté

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

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...

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

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 :) je vais tester tout ça.... si mon forum invision et wordpress passent alors tout ira bien.

Posté

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 :

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...