Mysql
 sql >> Baza danych >  >> RDS >> Mysql

odzyskaj bazę danych mysql z ibdata1

U mnie działały:

  • Ustaw innodb_force_recovery =1 w swoim my.cnf

  • Spróbuj zrestartować mysqld. Jeśli nie, powtórz krok 1 i zwiększ innodb_force_recovery o każdy, aż się powiedzie. Skorzystaj z przewodnika, który pomoże Ci zrozumieć, co się dzieje za każdym razem, gdy je zwiększasz:http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html

  • Po uruchomieniu mysqld spróbuj zrzucić wszystkie bazy danych

  • Jeśli to się nie powiedzie, musisz najpierw spróbować na poziomie bazy danych
  • Jeśli to się nie powiedzie, musisz spróbować na poziomie stołu
  • Gdy jedno z nich się powiedzie i wszystkie bazy danych lub wszystkie tabele zostaną wyeksportowane, zatrzymaj mysqld

  • Przenieś plik ib_logfile*> ib_logfile*.bak. Znajdują się one zazwyczaj w katalogu danych mysql.

  • Jeśli w pierwszym kroku zwiększyłeś swoją innodb_force_recovery => 4, musisz ustawić ją poniżej 4. Od 5.6.15, ustawienie innodb_force_recovery na 4 lub więcej umieszcza InnoDB w trybie tylko do odczytu.

  • Uruchom serwer mysqld

  • Importuj wyeksportowane bazy danych lub tabele

  • Zwiększono innodb_force_recovery => 1

  • Zrestartuj serwer mysqld



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dołącz do 2 stołów na dynamicznie zmieniającej się kolumnie

  2. Pokaż nazwę przepisu, jeśli wszystkie składniki są już podane

  3. Domyślny czas daty i godziny MySQL z interwałem

  4. Jak mogę zapobiec przekształceniu znaku zastępczego w jednostkę html w PHP?

  5. przechowuj przechwycony obraz w bazie danych MySQL za pomocą Pythona i OpenCV