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.
J'ai compris ceci:
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.)
Désinstallez MySQL et supprimez tous les dossiers liés à mysql de/var/lib /.
Réinstallez MySQL.
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
Arrêtez mysql
Renommez le dossier sauvegardé en "mysql"
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/
Redémarrer mysql
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.