Page 1 sur 1
Back up et restore Mysql
Posté : 29 sept. 2006, 15:52
par Bertrand_123
Bonjour,
Pardonnez cette question élémentaire d'un novice. je souhaite tranférer une grosse bass mysql d'un hébergeur vers un autre. Il semblerait que ce soit mysqldump qu'il faille utiliser :
mysqldump -uuser -ppassword -e -q -Q --add-drop-table nom-de-base | gzip > nom-de-base.sql.gz
Pour sauvegarder et
zcat nom-de-base.sql.gz | mysql -uuser -ppassword nom-de-base
pour restaurer sur le nouveau serveur.
Mais poù doit on executer ces commandes ??? à la racine du site ? dals un répertoire PhpMyadmin ?
Merci de votre aide
Posté : 29 sept. 2006, 22:10
par Hubert Roksor
Ce sont des commandes
shell. En PHP, il faut utiliser la commande exec()
Seul hic, c'est désactivé sur la plupart des hébergeurs mutualisés pour des raisons de sécurité. Si tu n'as pas un serveur dédié, il te faudra utiliser phpMyAdmin en coupant la base de données en plusieurs morceaux.
Posté : 01 oct. 2006, 23:11
par Invité
Salut ! et merci
J'ai continué à chercher...
en fait ma base se trouve sur serveur mutualisé (je faisais les transferts avec Mysql-Front) et je souhaite la transférer vers un serveur dédié.
J'ai installé PUTTY sur mon poste et j'ai établi une connexion en SSH avec le serveur dédié.
Mysqldump se trouve dans /usr/bin (j'ai utilisé la commande locate mysqldump)
Je dispose de mon fichier sql de sauvegarde. Et donc je pense que la procédure est de le transférer part FTP sur le serveur dédié puis de faire une restauration.
Mais je ne sais pas où poser ce fichier sql pour ensuite venir le cherher. Je tourne en rond depuis deux jours !!!
Grans merci de votre aide !
Posté : 02 oct. 2006, 07:55
par Ripat
Tu le poses où tu veux dans un répertoire sur lequel l'utilisateur linux de ton dédié a les droits (par exemple /home/ton_uid/).
Si cet utilisateur linux peut utiliser la commande mysql il suffit de lui indiquer le chemin complet vers le fichier dump:
Code : Tout sélectionner
mysql -u mysql_user -p BaseDeDonnees < /home/ton_uid/fichier_dump.sql
Les tables de ta base seront stockées dans le répertoire défini dans le fichier de configuration my.ini (datadir= .... ).
En passant, il n'est pas très prudent de mettre le mot de passe mysql en clair dans ta ligne de commande comme tu l'as fait (
-pmotdepasse) car cette commande est journalisée dans le fichier shell
.bash_history. Alors, si tu peux l'éviter...
Posté : 02 oct. 2006, 23:43
par Invité
Merci de ta réponse.
En fait je n'arrive pas à touver de "lien" entre ce que je vois par le ftp sur le serveur dédié et les réprtoires où son suposées être les bases.
Je m'explique :
Si je me connecte en SSH avec putty je trouve ma base :
/var/lib/mysql/mabase
Si je me connecte sur le serveur avec plesk je trouve par exemple :
/var/www/vhosts/monsite.com/httpdocs/index.php
Comment attaindre par FTp le répertoire mysql où se trouve mabase ??
Grand merci
Posté : 03 oct. 2006, 15:46
par Ripat
Si tu ne peux remonter dans l'arborescence par ftp c'est qu'il y a une limitation dans le fichier config du serveur ftp de ton dédié.
Soit tu fais sauter cette limitation, soit tu utilises un client ftp comme FileZilla qui permet d'établir directement des connexions ssh. Tu te baladeras alors dans toute l'arborescence.
Posté : 04 oct. 2006, 10:26
par Invité
Super !
Je vais essayer. Merci de ton aide.