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

Przywróć strukturę tabeli z plików frm i ibd

Przywróciłem tabelę tylko z .frm i .idb pliki.

Pobierz zapytanie SQL, aby utworzyć tabele

Jeśli znasz już schemat swoich tabel, możesz pominąć ten krok.

  1. Najpierw zainstaluj MySQL Utilities . Następnie możesz użyć mysqlfrm polecenie w wierszu poleceń (cmd).

  2. Po drugie, pobierz zapytania SQL z .frm pliki używające mysqlfrm polecenie:

    mysqlfrm --diagnostic <path>/example_table.frm
    

Następnie możesz uzyskać zapytanie SQL, aby utworzyć taką samą tabelę strukturalną. W ten sposób:

CREATE TABLE `example_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(150) NOT NULL,
  `photo_url` varchar(150) NOT NULL,
  `password` varchar(600) NOT NULL,
  `active` smallint(6) NOT NULL,
  `plan` int(11) NOT NULL,
PRIMARY KEY `PRIMARY` (`id`)
) ENGINE=InnoDB;

Utwórz tabele

Utwórz tabele za pomocą powyższego zapytania SQL.

Jeśli stare dane nadal istnieją, być może trzeba będzie najpierw usunąć odpowiednią bazę danych i tabele. Upewnij się, że masz kopię zapasową plików danych.

Przywróć dane

Uruchom to zapytanie, aby usunąć nowe dane z tabeli:

ALTER TABLE example_table DISCARD TABLESPACE;

To usuwa połączenia między nowym .frm plik i (nowy, pusty) .idb plik. Usuń także .idb plik w folderze.

Następnie umieść stary .idb plik do nowego folderu, np.:

cp backup/example_table.ibd <path>/example_table.idb

Upewnij się, że plik .ibd pliki mogą być odczytywane przez mysql użytkownik, np. uruchamiając chown -R mysql:mysql *.ibd w folderze.

Uruchom to zapytanie, aby zaimportować stare dane:

ALTER TABLE example_table IMPORT TABLESPACE;

To importuje dane z pliku .idb plik i przywróci dane.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. INSERT INTO...SELECT dla wszystkich kolumn MySQL

  2. Jak podzielić ciąg w MySQL

  3. Najlepsza wydajność MySQL DigitalOcean — ScaleGrid kontra zarządzane bazy danych DigitalOcean

  4. konfiguracja mysql zatrzymuje się na starcie serwera

  5. JDBC a usługa sieciowa dla Androida