web-dev-qa-db-fra.com

MariaDB accidentellement installé sur Mysql. Comment récupérer mes bases de données Mysql?

J'ai installé MariaDB et n'ai pas remarqué qu'il remplace Mysql. Au cours de l'installation, il a déplacé le répertoire de données Mysql vers mysql-5.7. J'ai supprimé MariaDB, réinstallé Mysql et essayé de restaurer mes bases de données en les déplaçant simplement de mysql-5.7 vers mysql et en redémarrant Mysql. Mysql ne veut pas redémarrer et par conséquent je ne peux pas utiliser mysqldump comme suggéré ici - Comment restaurer des bases de données mysql après la mise à niveau vers mariadb . Comment puis-je restaurer mes bases de données?

Pour référence, j'utilise Ubuntu Server 16.04 et Mysql 5.7.

3
Pockets

J'ai compris ceci:

  1. Copiez le dossier renommé (/var/lib/mysql_5.7) dans un emplacement sûr. (Si vous conservez la propriété et les autorisations, vous pouvez probablement éviter de les réparer à l'étape 4.)

  2. Désinstallez MySQL et supprimez tous les dossiers liés à mysql de/var/lib /.

  3. Réinstallez MySQL.

  4. Vérifiez les autorisations sur les nouveaux répertoires/var/lib/mysql/files. Si vos fichiers sauvegardés ne correspondent pas, corrigez-les pour qu'ils correspondent. (Le mien était

    chown -R mysql:mysql location_to_backed_up_folder/

    chmod 750 location_to_backed_up_folder/mysql/ location_to_backed_up_folder/any_other_folders/

    chmod 640 location_to_backed_up_folder/all_other_files

  5. Arrêtez mysql

  6. Renommez le dossier sauvegardé en "mysql"

  7. Copiez le dossier et les fichiers sauvegardés (en préservant la propriété et les autorisations) dans/var/lib /

    cp -aR location_of_backed_up_folder/ /var/lib/

  8. Redémarrer mysql

3
Pockets

Vous pouvez continuer à utiliser Maria Db si vous avez une copie de mysql-5.7 (dans /var/lib alors que maria db est installée) vers un emplacement temporaire.

Maintenant, dans votre /var/lib, vous aurez un dossier appelé mysql qui est votre base de données actuelle (sans votre ancien dump).

Maintenant, arrêtez votre mysql. Déplacez le dossier mysql dans /var/lib vers un emplacement donné pour des raisons de sécurité, puis déplacez le dossier mysql-5.7 vers /var/lib et renommez-le en tant que mysql. Définissez les mêmes privilèges que ceux définis pour le dossier mysql précédent.

Redémarrez à nouveau le service mysql. Vous aurez le vieux dépotoir maintenant.

2
resh