Rumah >pangkalan data >tutorial mysql >Bolehkah Kami Pulihkan Struktur Jadual MySQL daripada Fail FRM dan IBD Sahaja?

Bolehkah Kami Pulihkan Struktur Jadual MySQL daripada Fail FRM dan IBD Sahaja?

Barbara Streisand
Barbara Streisandasal
2025-01-07 19:06:41378semak imbas

Can We Recover MySQL Table Structure from FRM and IBD Files Only?

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:

  • Pasang Utiliti MySQL.
  • Gunakan perintah mysqlfrm --diagnostic untuk menjana penyata cipta SQL untuk setiap fail FRM.
  • Output akan mengandungi pernyataan yang serupa dengan:
<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:

  • Padam mana-mana jadual sedia ada (jika perlu).
  • Laksanakan pernyataan ciptaan SQL yang diperoleh dalam langkah 1 untuk mencipta jadual dengan struktur yang sama seperti jadual asal.

3. Pulihkan data:

  • Gunakan arahan berikut untuk memadam data jadual baharu:
<code class="language-sql">ALTER TABLE example_table DISCARD TABLESPACE;</code>
  • Padam fail IBD yang sepadan dalam direktori jadual.
  • Salin fail IBD asal ke direktori:
<code class="language-bash">cp backup/example_table.ibd /path/to/example_table.idb</code>
  • Pastikan fail IBD mempunyai pemilikan dan kebenaran yang betul.
  • Import data lama:
<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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn