Aller au contenu

Migration SQL entre 2 dédiés OVH


bobdeo

Sujets conseillés

Salut,

J'ai 2 dédiés chez OVH

A - un vieux SP - RedHat 7.2 - Apache 1.3.34, PHP 4.4.2, MySQL 3.23.58

B - un SP reloaded - Release 2 - Apache 2, PHP 5, MySQL 5

Je souhaite basculer les comptes de l'un à l'autre...

Etape 1 : créer les comptes à l'identique avec OVHm

Etape 2 : basculer les bases... et là, ça se complique.

D'après mes recherches (et compte tenu de la taille de certaines bases), utiliser le bash semble la solution la moins risquée.

Est ce que je peux me contenter de copier les fichiers et dossiers présents dans /home/mysql/ du SP vers /home/mysql/ du SP-R ?

Comment ? Mes connaissances bash sont très limitées...

Est-ce que les droits seront conservés ?

Merci d'avance pour vos réponses et conseils !

Lien vers le commentaire
Partager sur d’autres sites

De toutes façon il ne te coûte rien d'essayer... Et il est vrai que cette solution est assez simple à mettre en place :)

Dans le cas où ça ne fonctionnerait pas (peut être à cause de l'incompatibilité entre la version 3 et 5 de MySQL) tu peux toujours utiliser les commandes suivantes par SSH :

Pour exporter les données au format .sql sur ton serveur :

cat /home/tonsite/www/backup.sql | mysql --host=localhost --user=??? --database=??? --password=???

(en prenant soin de remplacer par tes données)

Pour les importer dans la nouvelle base :

mysql --host=?? --user=?? -password=?? base_de_donnees < /home/tonsite/www/backup.sql

D'après mes souvenirs OVH explique la technique dans ses guides.

Mais avant tout teste la première méthode quand même, tu te compliquera moins la vie.

PS : Je ne suis pas un expert de ce type de transfert mais si tu fais un simple copier-coller du contenu du répertoire /mysql/ (normalement constitué de fichiers .MYD .frm .MYI) avec un logiciel du type filezilla en mode sécurisé SSH ça devrait répondre à cette première méthode.

Modifié par John_attend
Lien vers le commentaire
Partager sur d’autres sites

Merci pour tes réponses... je n'y arrive vraiment pas...

1 / Pas de Filezilla chez moi. Je suis sur Mac (transmit) et je ne peux pas me connecter en SSH pour copier/coller les fichier des bases

2 / je n'arrive pas à faire tourner tes lignes de commande :

cat: /home/moncompte/backup.sql: Aucun fichier ou répertoire de ce type

et après avoir créer un backup.sql vide, la commande passe mais le fichier reste vide...

Pour la solution 1, possible de faire ?

1/ faire un tar des fichiers de la base dans le /user/www/

2/ copier le tar dans le /user/www/ sur le nouveau serveur (en FTP)

3/ décompacter le tar dans /www/mysql/user/

Je bloque toujours sur les lignes bash à taper... Si un bilingue pouvait m'aider se serait sympa :unsure:

Lien vers le commentaire
Partager sur d’autres sites

Désolé du temps de réponse (je passe pas beaucoup sur ce forum et je pensais que quelqu'un te répondrait).

je n'arrive pas à faire tourner tes lignes de commande

As tu vérifié que le chemin était bien le bon ?

Il faut que le nom (MonSiteSurLesBananes) dans la commande ci dessous corresponde à un compte existant...

cat /home/MonSiteSurLesBananes/www/backup.sql | mysql --host=localhost --user=??? --database=??? --password=???

Mais si ça ne marche pas il existe une autre manière d'exporter ta base de données :

mysql --host=?? --user=?? -password=?? base_de_donnees > /home/tonsite/www/backup.sql

Tu remarqueras le >, si tu le pointe vers le nom et chemin du fichier, c'est la base de données qui est exportée vers le fichier, si tu le place dans l'autre sens, tu importes le contenu du fichier dans la base de données. Ainsi, pour importer tes données tu feras ceci :

mysql --host=?? --user=?? -password=?? base_de_donnees < /home/tonsite/www/backup.sql

(mais je l'avais déjà donné dans mon premier message)

Vérifie bien le chemin /home/tonsite/www/, il doit être valide sinon bien entendu ça ne fonctionnera pas.

Enfin, si tu ne peux pas utiliser de client FTP du type FileZilla, il existe bien entendu les commandes manuelles pour copier le contenu d'un répertoire. En revanche, je ne me souviens plus des noms pour les commandes SSH...

Si tu n'as pas encore résolu ton problème, utilises plutôt les deux lignes de commande données ci dessus, notamment la première que je n'avais pas spécifié dans mon premier message.

Modifié par John_attend
Lien vers le commentaire
Partager sur d’autres sites

Et non... désolé mais je n'avais pas vu ce post. (:

Pour exporter une base:

mysqldump -uroot -ppassword -e -q -Q --add-drop-table nom_de_la_base | gzip > nom_de_la_base.sql.gz

Ensuite tu la transfères par ftp...

Tu crées la base sur le nouveau serveur:

mysqladmin -uroot -ppassword create nom_de_la_base

Et tu l'importes:

zcat nom_de_la_base.sql.gz | mysql -uroot -ppassword nom_de_la_base

Pense à remplacer "password" par le mot de passe de root sous mysql, il est différent sur les 2 serveurs.

Dan

PS: il est possible de faire le transfert sans passer par un fichier intermédiaire, mais au moins cette méthode-ci te donne une sécurité supplémentaire en backupant tes bases.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

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



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