Czy po ponownym zainstalowaniu mysql stracę bazy danych?

14

Mam MySQL zainstalowany na moim lokalnym hoście. Co się stanie, jeśli mam problem z mysql i chcę go ponownie zainstalować? Czy tracę istniejące bazy danych?

użytkownik3018393
źródło
Czy nie lepiej byłoby wyjaśnić swoje problemy za pomocą mysql. Aby ludzie mogli pomóc Ci to naprawić. Ponowna instalacja jest bardziej sposobem na rozwiązanie problemów.
rechengehirn
1
Zachowując ostrożność, warto najpierw wykonać kopię zapasową baz danych. Możesz użyć mysqldump z opcją --all-databases. dev.mysql.com/doc/refman/5.7/en/…
Progrock

Odpowiedzi:

11

Nie, ponowna instalacja mysql-servernie usunie plików bazy danych, tylko pliki pakietu mysql-server. Będziesz mógł uzyskać dostęp do swoich plików (bazy danych) po ponownej instalacji serwera.

Aby wyczyścić i zainstalować serwer mysql:

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

Jeśli chcesz również usunąć bazę danych, musisz ją najpierw usunąć przed usunięciem mysql. Aby usunąć bazę danych czysto, w wierszu polecenia mysql wpisz:

drop database <database_name>

Znalazłem inny sposób na usunięcie plików bazy danych, ale nie jestem pewien, czy jest to czysty sposób na usunięcie bazy danych, więc weź to ze szczyptą soli:

Z pytania dotyczącego stackoverflow :

To (lokalizacja plików bazy danych) jest specyficzne dla instalacji, ale jeśli masz / var / lib / mysql, to:

  • Tabele MyISAM będą przechowywane w osobnych plikach w / var / lib / mysql / databasename /
  • InnoDB znajduje się w / var / lib / mysql / ibdata (chyba że użyłeś ustawienia innodb_per_table, w którym to przypadku jest przechowywany podobnie jak w tabelach MyISAM)

Więc sprawdź lokalizację swoich baz danych w tych dwóch lokalizacjach i usuń katalog baz danych (wymaga uprawnień administratora do odczytu i usuwania).

Praca w
źródło
Jak to zrobić, aby usunąć moje pliki, jeśli chcę?
Aditya, poseł
3
jest purgeprawidłowe polecenie, jeśli nie chcę stracić danych?
ahmadali shafiee
0

To stare pytanie, ale mimo to oto moje 5 ¢:

  1. Wykonaj najpierw kopię zapasową bazy danych, np mysqldump. Używając .
  2. Teraz zrób sudo apt-get purge mysql-server mysql-server-5.7. Zostaniesz zapytany, czy naprawdę chcesz usunąć pliki bazy danych, kliknijYes
  3. Ponownie zainstaluj mysql przy użyciu sudo apt-get install mysql-server mysql-server-5.7
  4. Uruchom bazę danych mysql
  5. Utwórz ponownie bazę danych i jej użytkownika za pomocą mysqlnarzędzia wiersza polecenia
  6. Zaimportuj zrzut z kopii zapasowej

Możesz zapytać, do czego służy cała ta procedura: Istnieją przypadki, w których baza danych mysql miała wiele dużych transakcji i zajmuje dużo miejsca na dysku. Zniszczenie i odbudowanie bazy danych jest sposobem na jej zmniejszenie.

jk - Przywróć Monikę
źródło
w niektórych przypadkach usunięcie bazy danych nie jest opcją ... więc tę odpowiedź należy poprawić w tym kontekście.
Siddharth
0

Zastosowanie sudo apt-get remove mysql-server.

Nie używaj sudo apt-get purge mysql-server, aby usunąć pliki /var/lib/mysql.

Zahid Gill
źródło
Po prostu wybierz <Nie>, gdy poprosi Cię o usunięcie wszystkich baz danych MySQL.
mariozawa