Dieser Artikel vermittelt Ihnen relevantes Wissen über MySQL. Er führt hauptsächlich in die schnelle Wiederherstellung einer einzelnen Tabelle in MySQL ein und zeigt Ihnen Schritt für Schritt! Schauen wir es uns gemeinsam an, ich hoffe, es wird für alle hilfreich sein.
mysql> create table test1 (id int auto_increment primary key,name varchar(20)); Query OK, 0 rows affected (0.05 sec) mysql> insert into test1 (name) values ('张三'),('李四'),('王二'); Query OK, 3 rows affected (0.01 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from test1; +----+--------+ | id | name | +----+--------+ | 1 | 张三 | | 2 | 李四 | | 3 | 王二 | +----+--------+ 3 rows in set (0.00 sec)
mysql> create table test2 like test1; Query OK, 0 rows affected (0.10 sec) 查看数据目录里面的ibd文件(test2.ibd、test1.ibd): -rw-r-----. 1 * * 114688 Nov 2 16:20 test1.ibd -rw-r-----. 1 * * 114688 Nov 2 16:23 test2.ibd
mysql> alter table test2 discard tablespace; Query OK, 0 rows affected (0.02 sec) 查看ibd文件情况,发现test2的ibd文件已经被删除 -rw-r----- 1 * * 114688 Nov 2 16:20 test1.ibd
mysql> flush table test1 for export; Query OK, 0 rows affected (0.00 sec) 生成了一个test1.cfg的cfg文件 -rw-r----- 1 * * 655 Nov 2 16:25 test1.cfg -rw-r----- 1 * * 114688 Nov 2 16:20 test1.ibd
cp test1.cfg test2.cfg cp test1.ibd test2.ibd chown -R mysql.mysql test2.*
mysql> select * from test2; ERROR 1100 (HY000): Table 'test2' was not locked with LOCK TABLES
mysql> unlock tables; Query OK, 0 rows affected (0.00 sec) 并用alter table的方法为目标表test2导入这个ibd文件: mysql> alter table test2 import tablespace; Query OK, 0 rows affected (0.03 sec) 1 row in set (0.00 sec)
mysql> select * from test2; +----+--------+ | id | name | +----+--------+ | 1 | 张三 | | 2 | 李四 | | 3 | 王二 | +----+--------+ 3 rows in set (0.00 sec)
Der Kern der oben genannten physischen Einzeltabellenkopie Die Methode liegt im Befehl cp, da es sich um eine physische Kopie handelt. Wenn die kopierte Tabelle sehr groß ist, ist die physische Kopie viel schneller als das logische SQL-Schreiben, z. B. das Einfügen in eine SELECT-Anweisung.
简单总结一下上述物理复制过程:
Das obige ist der detaillierte Inhalt vonBringen Sie Ihnen bei, wie Sie eine einzelne Tabelle in MySQL mit physischen Methoden wiederherstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!