Rumah > Artikel > pangkalan data > Bagaimana untuk Memulihkan Data Jadual MySQL InnoDB daripada ibdata dan Fail frm?
MySQL Server menggunakan dua jenis enjin storan pangkalan data – InnoDB dan MyISAM. Apabila enjin storan InnoDB digunakan, Pelayan MySQL menyimpan data dan indeks dalam fail .ibdata dan skema jadual dalam fail .frm. Sekiranya berlaku rasuah dalam jadual InnoDB, anda boleh memulihkan data jadual InnoDB MySQL dengan mudah daripada fail .ibdata dan .frm, dan bukannya memulihkan sandaran pangkalan data yang lengkap. Dalam artikel ini, kami akan membincangkan cara memulihkan data daripada fail .ibdata dan .frm dalam Pelayan MySQL.
Berikut ialah proses langkah demi langkah untuk memulihkan data jadual InnoDB daripada fail .frm dan .ibdata dalam Pelayan MySQL:
Anda perlu mencipta pangkalan data MySQL baharu dahulu. Untuk ini, log masuk ke PhpMyAdmin, klik pada pilihan Pangkalan Data, taip nama pangkalan data (cth. Klien), dan kemudian klik Cipta.
Seterusnya, pergi ke folder pemasangan XAMPP anda untuk menyemak pangkalan data yang baru dibuat. Lokasi lalai ialah C:xamppmysqldata.
Apabila anda membuka pangkalan data baharu, anda akan mendapati ia tidak mengandungi sebarang jadual. Untuk mencipta jadual, anda memerlukan skema jadual. Jika anda mempunyai fail sandaran yang dikemas kini, maka anda boleh mendapatkan skema dan nama pangkalan data. Anda boleh menggunakan nama yang sama untuk mencipta jadual. Tetapi jika anda tidak mempunyai sandaran, maka anda boleh menggunakan fail .frm untuk mengekstrak skema jadual. Terdapat pelbagai utiliti yang boleh dipercayai tersedia dalam talian yang boleh membantu anda mengekstrak skema jadual.
Sekarang gunakan skema yang sama untuk mencipta jadual dalam pangkalan data yang baru dibuat.
Sebaik sahaja anda mencipta jadual, ia secara automatik akan mencipta fail .frm dan .ibd baharu dalam folder pangkalan data.
Seterusnya, pergi ke folder pemasangan XAMPP anda dan padamkan fail .ibd.
Kemudian, salin fail .ibd asal dan tampalkannya ke dalam pangkalan data baharu.
Sebelum menyalin fail .ibd asal, laksanakan pertanyaan di bawah:
ALTER TABLE table_name BUANG RUANG MEJA;
Nota: Perintah DISCARD TABLESPACE akan memutuskan pautan antara jadual MySQL dan ruang jadual, dengan itu membantu mengelakkan ketidakkonsistenan dan isu lain.
Seterusnya, pulihkan pautan antara jadual MySQL dan Tablespace dengan menggunakan arahan di bawah:
ALTER TABLE table_name IMPORT TABLESPACE;
Nota: Anda boleh memulihkan data daripada satu jadual pada satu masa dengan menggunakan fail .frm dan .ibd. Jika anda perlu memulihkan berbilang jadual, maka ia akan mengambil banyak masa kerana anda perlu melaksanakan semua langkah untuk setiap jadual secara manual.
Untuk memulihkan berbilang jadual InnoDB sekaligus daripada pangkalan data Pelayan MySQL dengan cepat dan mudah, anda boleh menggunakan alat pemulihan pangkalan data MySQL profesional. Pembaikan Stellar untuk MySQL ialah salah satu alat yang mudah digunakan yang boleh memulihkan jadual InnoDB dan data lain, seperti kunci utama, paparan, pencetus, dll. daripada pangkalan data MySQL yang rosak atau rosak. Alat ini menampilkan antara muka pengguna yang kaya dan interaktif yang membantu anda melakukan operasi pembaikan dan pemulihan dengan cepat dalam hanya beberapa langkah mudah.
Berikut ialah beberapa keupayaan utama Pembaikan Stellar untuk MySQL:
Menyokong MySQL Server 8.0.36 dan versi yang lebih rendah
Menyokong semua versi MariaDB sehingga 11.3.2
Memulihkan semua data daripada pangkalan data MySQL, termasuk rekod yang dipadamkan dan jadual partition
Membaiki jadual MySQL dengan ketepatan lengkap
Menyediakan pratonton dipertingkat bagi data yang dibaiki sebelum menyimpan
Membenarkan pembaikan berbilang pangkalan data sekaligus
Membolehkan anda menyimpan pangkalan data MySQL yang telah dibaiki dalam pelbagai format, seperti MySQL, MariaDB, Skrip SQL, CSV, HTML dan XLS
Serasi dengan kedua-dua sistem pengendalian Windows dan Linux, termasuk CentOS 7 (64-bit) / Red Hat Enterprise Linux 7 (64-bit) dan Ubuntu 16.04 (32-bit & 64-bit) / Ubuntu 18.04 & 19.10 (64-bit)
Di atas, kami telah menerangkan proses langkah demi langkah terperinci untuk memulihkan data jadual MySQL InnoDB daripada ibdata dan fail .frm. Walau bagaimanapun, ini tidak sesuai untuk memulihkan berbilang jadual kerana anda perlu melakukan semua langkah secara manual untuk setiap jadual. Sebagai alternatif, anda boleh menggunakan alat pemulihan pangkalan data MySQL profesional, seperti Stellar Repair untuk MySQL yang boleh membantu anda mengekstrak semua objek, termasuk jadual, kunci utama, pandangan, pencetus, dll. daripada fail pangkalan data yang rosak dengan integriti lengkap. Alat ini menyokong pembaikan pangkalan data yang dibuat menggunakan kedua-dua enjin storan InnoDB dan MyISAM. Ia direka untuk menangani pelbagai ralat berkaitan rasuah dalam pangkalan data MySQL. Versi demo percuma Stellar Repair untuk MySQL juga tersedia yang membolehkan anda mengimbas fail pangkalan data dan pratonton data boleh pulih.
Atas ialah kandungan terperinci Bagaimana untuk Memulihkan Data Jadual MySQL InnoDB daripada ibdata dan Fail frm?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!