Si je réinstalle mysql, est-ce que je perds mes bases de données?


14

J'ai installé MySQL sur mon hôte local. Que se passe-t-il si j'ai un problème avec mysql et que je souhaite le réinstaller à nouveau? Dois-je perdre mes bases de données existantes?


Ne serait-il pas préférable d'expliquer vos problèmes avec mysql. Les gens peuvent donc essayer de vous aider à résoudre ces problèmes. La réinstallation est plus un moyen de résoudre les problèmes sous Windows.
rechengehirn

1
Soyez prudent, c'est une bonne idée de sauvegarder d'abord vos bases de données. Vous pouvez utiliser mysqldump avec l'option --all-databases. dev.mysql.com/doc/refman/5.7/en/…
Progrock

Réponses:


11

Non, la réinstallation mysql-serverne supprimera pas vos fichiers de base de données, supprimera uniquement les fichiers de package de mysql-server. Vous pourrez accéder à vos fichiers (base de données) après avoir réinstallé le serveur.

Pour purger et installer mysql-server:

sudo apt-get purge mysql-server
sudo apt-get install mysql-server

Si vous souhaitez également supprimer la base de données, vous devez d'abord la supprimer avant de supprimer mysql. Pour supprimer la base de données proprement, sur l'invite mysql, tapez:

drop database <database_name>

J'ai trouvé un autre moyen de supprimer les fichiers de base de données, mais je ne suis pas sûr que ce soit un moyen propre de supprimer la base de données, alors prenez-le avec une pincée de sel:

D' une question sur stackoverflow :

Il (l'emplacement des fichiers de base de données) est spécifique à l'installation, mais si vous avez / var / lib / mysql, alors:

  • Les tables MyISAM seront stockées dans des fichiers individuels dans / var / lib / mysql / databasename /
  • InnoDB réside dans / var / lib / mysql / ibdata (sauf si vous avez utilisé le paramètre innodb_per_table, auquel cas il est stocké un peu comme pour les tables MyISAM)

Vérifiez donc l'emplacement de vos bases de données dans ces deux emplacements et supprimez le répertoire des bases de données (nécessite des privilèges de superutilisateur pour lire et supprimer).


Comment faire pour supprimer mes fichiers, si je le voulais?
Aditya MP

3
est purgela bonne commande si je ne veux pas perdre les données?
ahmadali shafiee

0

C'est une vieille question, mais néanmoins, voici mes 5 ¢:

  1. Effectuez d'abord une sauvegarde de la base de données, par exemple en utilisant mysqldump.
  2. Maintenant, fais sudo apt-get purge mysql-server mysql-server-5.7. Il vous demandera si vous souhaitez vraiment supprimer les fichiers de la base de données, cliquez surYes
  3. Réinstallez mysql en utilisant sudo apt-get install mysql-server mysql-server-5.7
  4. Démarrez la base de données mysql
  5. Recréez la base de données et son utilisateur à l'aide de l' mysqlutilitaire de ligne de commande
  6. Importez le vidage de votre sauvegarde

Vous pouvez vous demander à quoi sert toute cette procédure: Il y a des cas où la base de données mysql a eu de nombreuses transactions importantes et occupe beaucoup d'espace sur le disque. Détruire et reconstruire la base de données est une façon de la réduire à nouveau.


dans certains cas, la suppression de db n'est pas une option .. donc cette réponse doit être corrigée avec ce contexte ..
Siddharth

0

Utilisez sudo apt-get remove mysql-server.

Ne pas utiliser sudo apt-get purge mysql-server, ce qui supprimera les fichiers /var/lib/mysql.


Sélectionnez simplement <Non> lorsqu'il vous demande de supprimer toutes les bases de données MySQL.
mariozawa
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.