Pulihkan struktur jadual MySQL daripada fail FRM dan IBD sahaja
Soalan:
Pengguna sering menghadapi situasi di mana mereka perlu memulihkan pangkalan data tetapi hanya boleh mengakses fail FRM dan IBD.
Bolehkah struktur meja dipulihkan?
Ya, struktur jadual boleh dipulihkan daripada fail FRM walaupun tanpa fail IB_LOG.
Langkah:
1. Ekstrak pernyataan penciptaan SQL daripada fail FRM:
mysqlfrm --diagnostic
untuk menjana penyata cipta SQL untuk setiap fail FRM. <code class="language-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;</code>
2. Gunakan pernyataan SQL untuk mencipta jadual:
3. Pulihkan data:
<code class="language-sql">ALTER TABLE example_table DISCARD TABLESPACE;</code>
<code class="language-bash">cp backup/example_table.ibd /path/to/example_table.idb</code>
<code class="language-sql">ALTER TABLE example_table IMPORT TABLESPACE;</code>
Atas ialah kandungan terperinci Bolehkah Kami Pulihkan Struktur Jadual MySQL daripada Fail FRM dan IBD Sahaja?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!