Mysql
 sql >> база данни >  >> RDS >> Mysql

Възстановете структурата на таблицата от frm и ibd файлове

Възстанових таблицата само от .frm и .idb файлове.

Вземете SQL заявката за създаване на таблиците

Ако вече знаете схемата на вашите таблици, можете да пропуснете тази стъпка.

  1. Първо инсталирайте Помощни програми за MySQL .След това можете да използвате mysqlfrm команда в командния ред (cmd).

  2. Второ, вземете SQL заявките от .frm файлове с помощта на mysqlfrm команда:

    mysqlfrm --diagnostic <path>/example_table.frm
    

След това можете да получите SQL заявката за създаване на същата структурирана таблица. Като това:

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;

Създайте таблиците

Създайте таблицата(ите), като използвате горната SQL заявка.

Ако старите данни все още съществуват, може да се наложи първо да премахнете съответната база данни и таблици. Уверете се, че имате резервно копие на файловете с данни.

Възстановете данните

Изпълнете тази заявка, за да премахнете нови данни в таблицата:

ALTER TABLE example_table DISCARD TABLESPACE;

Това премахва връзките между новия .frm файл и (нов, празен) .idb файл. Също така премахнете .idb файл в папката.

След това поставете стария .idb файл в новата папка, напр.:

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

Уверете се, че .ibd файловете могат да се четат от mysql потребител, напр. като изпълните chown -R mysql:mysql *.ibd в папката.

Изпълнете тази заявка, за да импортирате стари данни:

ALTER TABLE example_table IMPORT TABLESPACE;

Това импортира данни от .idb файл и ще възстанови данните.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете записи с максимална стойност за всяка група групирани SQL резултати

  2. Как да стартирате, рестартирате, проверявате състоянието и спирате MySQL сървъра

  3. phpMyBackupPro – Уеб базиран инструмент за архивиране на MySQL за Linux

  4. JSON_CONTAINS() Примери в MySQL

  5. Как да шифровате трафика от хибридна облачна база данни