Migrer BDD de MySQL 5.0 à MySQL 5.5 sans fichier SQL

a marqué ce sujet comme résolu.

Bonjour.

Je viens demander de l’aide SVP, car je suis en train d’essayer de migrer des données de MySQL 5.0 à MySQL 5.5. Mais je n’ai pas le fichier SQL.

Je n’ai aucune informations sur l’ancien serveur. J’ai juste le dossier "mysql". Et dedans, dans le fichier "mysql_upgrade_info", c’est écrit "5.0.51a". Et la j’essaye d’installer les données de l’ancien serveur vers un Debian 8 tout neuf.

J’ai essayé de suivre cette procédure :

_Récupérer sur l’ancien serveur la (ou les) BDD que l’on veut récupérer dans "/var/lib/mysql", et y envoyer sur le nouveau serveur.

_Récupérer sur l’ancien serveur le fichier "/var/lib/mysql/ibdata1", et y envoyer sur le nouveau serveur.

_Et sur le nouveau serveur, faire : sudo service mysql restart

Mais ça ne marche pas. J’avais déjà suivi cette procédure dans le passé, et ça avais marché, mais c’étais d’un vieux serveur avec MySQL 5.7 vers un nouveau serveur qui avais aussi MySQL 5.7. Là je pense que c’est le fait de passer de MySQL 5.0 à MySQL 5.5 qui pose problème.

Lorsque je fait :

1
sudo service mysql restart

ça plante. J’ai cette erreur : "Failed to start LSB: Start and stop the mysql database server daemon.".

J’ai l’impression que c’est le fichier le fichier "/var/lib/mysql/ibdata1" qui n’est pas pris en compte. Car quand je remet le fichier "/var/lib/mysql/ibdata1" de MySQL 5.5 et que je refait un restart, ça remarche (mais les tables sont vides bien sur).

Quelqu’un à déjà rencontré ce problème ?

Merci.

+0 -0

Il ne faut pas copier les fichiers data d’une version pour les mettre sur une autre…

Il faut sauvegarder manuellement (via des requêtes SQL) puis ensuite appliquer la sauvegarde. Tu peux utiliser PHPMyAdmin par exemple. Pour exporter puis importer les données.

Pourquoi ne pas utiliser l’outil mysqldump qui est fait pour ça ?

https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html

Cet outil te generera le fichier SQL qui pourra servir à rétablir la BDD (en conservant schéma et données) plus tard ou même sur un autre serveur.

Cet outil devrait déjà être disponible sur ta machine, il vient avec MySQL.

Si ta base est lourde, pense peut-être à gziper le fichier SQL ;)

Merci pour vos réponses. Pourquoi je n’ai pas utiliser mysqldump ou PhpMyAdmin pour récupérer le contenu de l’ancienne BDD ? Car je n’ai pas accès au vieux serveur.

On m a juste envoyé le dossier "mysql" qui contien les BDD avec leurs fichiers ".frm".

+0 -0

Hello,

En effet SpaceFox a raison. C’est franchement pas la bonne solution. Mais bon, il en existe une tout de même.

Place les fichiers de configuration au bon endroit et exécute le script suivant: https://dev.mysql.com/doc/refman/8.0/en/mysql-upgrade.html

C’est celui qu’on exécute quand on fait une mise à jour de la base de données (on fait toujours préalablement un dump mais bon…)

Ok merci pur vos réponses. Je précise que je n’ai jamais eu accès au vieux serveur. Si non, j’aurai bien sur fait une Backup au format .sql. On m’a envoyé le dossier "/var/lib/mysql" comme ça en me disant d’essayer de les "sauver" de la cata…

Et je n’ai même pas le dossier de leur conf. J’ai juste le dossier "/var/lib/mysql".

Plus sérieusement, tu peux aussi tester ça :

  1. Installer en local la même version qu’il y avait sur ton serveur,
  2. Y coller les fichiers que tu as récupéré du serveur,
  3. Faire une migration comme on te le disait plus haut.
SpaceFox

J’ai essayé de faire ceci hier soir sur un Debian 9, je n’avais pas réussi à installer MySQL 5.0. Mais la je vais essayer sur un Debian 8.

+0 -0

Bonsoir.

J’essaye d’installer MySQL 5.0 sur un Debian 8, mais je ni arrive vraiment pas…

Donc je reviens demander de l’aide SVP.

Voici les commandes que j’ai effectué (j’ai suivi ce qu’il y a d’écrit dans le "INSTALL-BINARY") :

1
2
3
4
5
6
7
8
cd /opt
wget https://downloads.mysql.com/archives/get/file/mysql-5.0.51a-linux-x86_64-glibc23.tar.gz
cd /usr/local
gunzip < /opt/mysql-5.0.51a-linux-x86_64-glibc23.tar.gz | tar xvf -
cd mysql-5.0.51a-linux-x86_64-glibc23
chown root:root -R /usr/local/mysql-5.0.51a-linux-x86_64-glibc23
scripts/mysql_install_db --user=root
bin/mysqld_safe --user=root &

Mais ça ne marche pas…

PS : lorsque j’exécure la dernière commande, j’ai ce message :

nohup: ignoring input and redirecting stderr to stdout Starting mysqld daemon with databases from /usr/local/mysql-5.0.51a-linux-x86_64-glibc23/data

Mais quand je tape "mysql", j’ai ce message :

mysql: command not found

Vous avez une idée ?

Merci.

+0 -0

Si le vieux serveur n’a pas été cramé, demande l’accès au vieux serveur et précise que tu peux rien faire sans. Jouer avec les fichiers de stockage c’est franchement n’imp. :D

Society

Justement si, ils m’ont dit qu’il a été complètement cramé. Et leur ancien développeur, a complètement disparu…

+0 -0

Problème de math surement, renomme mysql-5.0.51a-linux-x86_64-glibc23 en mysql ?

(Ou d’accès chmod ?)

A-312

Ok, merci. Mais ça ne change rien.

1
stat -c '%A (%a) %n' /usr/local/mysql

Me retourne 755

J’ai fait un vilain chmod 777 /usr/local/mysql pour tester. ça ne change rien non plus.

Salut,

Je ne sais pas si cela fonctionnera dans le cas où aucun serveur MySQL n’est présent, mais il existe aussi la solution Xtrabackup qui permet de sauvegarder les données d’une BDD sans devoir verrouiller la DB. Essaye peut-être d’installer /var/lib/mysql sur une machine et de lancer une sauvegarde à l’aide de ce logiciel. Si cela fonctionne, installe alors un serveur MySQL plus récent et applique ensuite la sauvegarde.

+0 -0

L’idée de Javier est super intelligente. Tu peux aussi monter un Mysql 5.0 sur une machine quelconque et essayer de copier tes fichiers. De là tu fais un vrai dump sql et t’es tranquille pour migrer sur du 5.5. En deux temps comme ça ce sera probablement plus simple.

T’as pas besoin de Docker, monte juste un 5.0 sur une VM ou un serveur pour sortir ton dump sql.

Après Docker franchement c’est pas compliqué. En suivant le getting started officiel, tu peux avoir pris le truc en main en genre une heure. ;)

T’as pas besoin de Docker, monte juste un 5.0 sur une VM ou un serveur pour sortir ton dump sql.

Après Docker franchement c’est pas compliqué. En suivant le getting started officiel, tu peux avoir pris le truc en main en genre une heure. ;)

Society

Merci, mais c’est ce que j’essaye de faire sur un Debian 8 tout neuf.

Mais je n’arrive pas à installer la version 5.0 de MySQL, c’est ce que j’explique ici : https://zestedesavoir.com/forums/sujet/10821/migrer-bdd-de-mysql-50-a-mysql-55-sans-fichier-sql/?page=1#p181567

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte