Récupérer les données de MySQL dans MariaDB

Hello,

Lors de mon crash lors de ma migration de Debian 9 vers 10 j’ai perdu mysql-server.

J’ai bien compris que ce dernier avait été remplacé par MariaDB mais ce que je n’ai pas trop compris c’est pourquoi lors de l’upgrade mon paquet mysql-server a été violemment supprimé sans me proposer une migration vers MariaDB.

J’ai sans doute loupé des choses et fait preuve de négligence, et en plus mon dernier backup SQL est un peu trop vieux. J’aimerais donc essayer de récupérer les données même si cela concerne un vieux site qui n’est peu utilisé, heureusement.

Bref j’ai encore accès au répertoire /var/lib/mysql de mon ancien serveur (sous Debian 9) et je me demande quelle serait le meilleure moyen de récupérer tout ça dans mon nouveau serveur (Debian 10 donc).

  1. Installer MariaDB et recopier simplement les fichiers dans /var/lib/mariadb ? Je doute que ça soit aussi simple…

  2. Installer MySQL (j’ai vu qu’il existait des répos pour l’avoir sous Debian 10) ? Cela devrait sans doute fonctionner mais tant qu’à faire je préférais rester sur le MariaDB du répo officiel de Debian 10 avec ses futures upgrades.

  3. Tenter de faire redémarrer MySQL sur mon ancien serveur pour pouvoir faire un dump et le recharger le MariaDB de mon nouveau serveur ? Le souci c’est que mon ancien serveur est dans les choux et je ne peux y accéder qu’en mode “rescue” (pas sûr de pouvoir lancer MySQL dans ce mode là).

Merci, Vincent.

Non, normalement tu n’as rien besoin de faire.
Si mariadb est installé, tu dois pouvoir accéder à tes anciennes bases de la même façon qu’auparavant (mysql -u <utilisateur> -p<mot de passe>) et dans l’invite SQL, show databases devrait bien faire apparaître tes bases.
En fait, même sur Debian 9, le paquet mysql-server installe en réalité mariadb-server (10.1) puisqu’il en dépend: https://packages.debian.org/stretch/default-mysql-server
Il est donc tout à fait possible que tu utilisais déjà mariadb sans le savoir.

2 J'aime

Effectivement, je pensais pas que ça serait aussi simple mais il m’a juste fallu installer mariadb et recopier /var/lib/mysql de mon ancien serveur et ça a marché tout de suite (bon après j’ai du mal à réinitialiser le mdp root mais c’est une autre histoire).

Pour une fois qu’une chose se passe plus facilement que prévue ! :slight_smile:

Après je reste quand même très surpris de la suppression violente de mysql-server lors de l’upgrade à Buster sur mon ancien serveur. Je ne pense pas que j’utilisais déjà mariadb sans le savoir, en tout cas après l’upgrade je n’avais plus de paquet mysql mais également aucun paquet mariadb. La seule explication que j’ai est que l’upgrade n’avait pas pu se finir entièrement et n’avait pas eu le temps d’installer mariadb.

C’est déjà mariadb qui installé par défaut sur Debian 9 :

$ apt depends mysql-server
mysql-server
      Dépend: default-mysql-server
$ apt depends default-mysql-server
default-mysql-server
      Dépend: mariadb-server-10.1

Bon je suppose alors que:

  • j’étais déjà en mariadb 10.1 sur mon ancien serveur sous Debian 9
  • lors de l’upgrade le paquet mysql-server a été supprimé mais c’est normal et pas gênant (peut-être remplacé par une autre meta package ?)
  • comme mon upgrade a eu un souci le nouveau paquet mariadb (10.3 de Buster) n’avait pas eu le temps de s’installer