无全量备份、未开启binlog日志,利用percona工具恢复delete的数
当我们忘记做全量备份时,并且没有开启binlog,并执行了 deletefromsbtest; 数据全部丢失,要想恢复是很有难度的。 今天,利用Percona Data Recovery Tool for InnoDB工具 (仅支持InnoDB,MyISAM不支持) ,可以找回被删除的数据。 原理:在InnoDB引擎,del
当我们忘记做全量备份时,并且没有开启binlog,并执行了
delete from sbtest;
数据全部丢失,要想恢复是很有难度的。
今天,利用Percona Data Recovery Tool for InnoDB工具(仅支持InnoDB,MyISAM不支持),可以找回被删除的数据。
原理:在InnoDB引擎,delete删除操作,不是真正的删除物理文件上的行,而是增加一个删除的标记,我们都用过WORD吧?在修改字体的时候,有一个删除线的标记,如《MySQL 管理之道》,该工具利用这个特性,找回那些标注了删除线的数据,并存入到一个文本里,然后通过load data命令,批量插入到表里。
注:truncate不能恢复(truncate是直接清空数据行,并不是添加删除标记,你可以通过查看物理文件,执行了truncate操作,ibd文件变小,而执行了delete操作,ibd文件还跟之前的一样大),drop不能恢复(数据文件都没了,还怎么恢复?)。
一、安装Percona Data Recovery Tool for InnoDB工具
# wget https://launchpad.net/percona-data-recovery-tool-for-innodb/trunk/release-0.5/+download/percona-data-recovery-tool-for-innodb-0.5.tar.gz
# cd percona-data-recovery-tool-for-innodb-0.5/mysql-source # ./configure # cd .. # make
二、全表删除sbtest表
delete from sbtest;
三、恢复
1、提取ibd物理文件,按照每页16K,单独存放。
# cd percona-data-recovery-tool-for-innodb-0.5/ # ./page_parser -5 -f /usr/local/mysql-5.5.37/data/test/sbtest.ibd
650) this.width=650;" style="max-width:90%" title="1.jpg" alt="wKioL1QWjBbQtR24AAcTs4jETjo710.jpg" />
650) this.width=650;" style="max-width:90%" title="2.jpg" alt="wKioL1QWjBfQ5v4eAAMOU75u5yE417.jpg" />
会在当前目录生成一个pages-1410414511目录(后面的数字是变化的,在你的机器上会跟我的不同)
650) this.width=650;" title="3.jpg" alt="wKioL1QWjNeRc1gzAAGi--J2QzM705.jpg" />
650) this.width=650;" title="5.jpg" alt="wKiom1QWjUXSIuLRAAjqU2V4Rmk266.jpg" />
在FIL_PAGE_INDEX目录下面,会生成主键和索引,数据最小的是主键,后面依次是每个列的索引
650) this.width=650;" title="4.jpg" alt="wKioL1QWjcfTyYIVAACR8hnJJ78355.jpg" />
在这里,0-28是sbtest表的主键(id),0-29是sbtest表的索引(k)。记住这个目录数字,后面我们需要通过这个目录恢复数据。
2、生成表结构
# cd percona-data-recovery-tool-for-innodb-0.5/ # ./create_defs.pl --host localhost --port 3306 --user root --password 123456 --db test --table sbtest > include/table_defs.h
-- host 主机地址
-- port 端口
-- user 用户名
-- password 密码
-- db 数据库名
-- table 表名
3、再次执行make编译命令
# cd percona-data-recovery-tool-for-innodb-0.5/ # make
650) this.width=650;" title="6.jpg" alt="wKiom1QWj3nzmDC0AAUbkA6b0jc746.jpg" />
4、恢复删除的数据
# cd percona-data-recovery-tool-for-innodb-0.5/ # ./constraints_parser -D -5 -f pages-1410414511/FIL_PAGE_INDEX/0-28/ > /tmp/sbtest.txt
-D 恢复删除的行
-5 表的文件格式,默认是Compact
(不清楚的朋友,可以用show table status命令查看)
650) this.width=650;" title="7.jpg" alt="wKioL1QWkRiDTihIAAI9NJg8fOQ199.jpg" />
-f 指定生成sbtest表的主键目录
执行完毕,如下图:
650) this.width=650;" title="8.jpg" alt="wKiom1QWknDBeZOHAAIWMrwbsBE715.jpg" />
会自动生成一个load data infile命令,请把这个复制下来,一会我们要导入数据。
在/tmp目录下,会生成sbtest.txt,我们就要用这个文件做恢复。
650) this.width=650;" title="9.jpg" alt="wKioL1QWkuHwSGz6AARoxsVwT9s990.jpg" />
5、导入到表里
LOAD DATA INFILE '/tmp/sbtest.txt' REPLACE INTO TABLE `sbtest` FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'sbtest\t' (id, k, c, pad);
总结:
通过上述方法,顺利的完成了delete数据恢复。在数据被删除后,切记要备份ibd数据文件,一定不要覆盖,否则都是不能完成修复的。目前该工具不支持字符串set类型。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Terdapat fungsi dlss dalam NVIDIA Selepas pengguna menghidupkan dlss, kadar bingkai permainan boleh dipertingkatkan dengan banyak Oleh itu, ramai rakan bertanya kepada editor bagaimana untuk menghidupkan dlss. Mula-mula, pastikan kad grafik menyokong dlss dan permainan menyokong dlss, kemudian anda boleh mendayakannya dalam permainan. Mari lihat tutorial khusus di bawah. Jawapan: DLSS secara amnya perlu dibuka dalam permainan. Untuk mendayakan dlss, anda mesti memenuhi syarat peranti dan permainan. dlss ialah "kesan pengesanan sinar", anda boleh memasukkan tetapan permainan. Kemudian pergi ke tetapan "Imej atau Grafik". Kemudian cari "Ray Tracing Lighting" dan klik untuk membukanya. d

Adakah perlu untuk mendayakan GPU dipercepatkan perkakasan? Dengan pembangunan dan kemajuan teknologi yang berterusan, GPU (Unit Pemprosesan Grafik), sebagai komponen teras pemprosesan grafik komputer, memainkan peranan penting. Walau bagaimanapun, sesetengah pengguna mungkin mempunyai soalan tentang sama ada pecutan perkakasan perlu dihidupkan. Artikel ini akan membincangkan keperluan pecutan perkakasan untuk GPU dan kesan menghidupkan pecutan perkakasan pada prestasi komputer dan pengalaman pengguna. Pertama, kita perlu memahami cara GPU dipercepatkan perkakasan berfungsi. GPU adalah khusus

Membuat sandaran dan memulihkan pangkalan data MySQL dalam PHP boleh dicapai dengan mengikuti langkah berikut: Sandarkan pangkalan data: Gunakan arahan mysqldump untuk membuang pangkalan data ke dalam fail SQL. Pulihkan pangkalan data: Gunakan arahan mysql untuk memulihkan pangkalan data daripada fail SQL.

Tajuk: Cara memulihkan fail hos selepas pemadaman Ringkasan: Fail hos ialah fail yang sangat penting dalam sistem pengendalian dan digunakan untuk memetakan nama domain kepada alamat IP. Jika anda secara tidak sengaja memadam fail hos, anda mungkin tidak dapat mengakses tapak web tertentu atau mengalami masalah rangkaian lain. Artikel ini akan memperkenalkan cara memulihkan fail hos yang dipadam secara tidak sengaja dalam sistem pengendalian Windows dan Mac. Teks: 1. Pulihkan fail hos dalam sistem pengendalian Windows fail Hos dalam sistem pengendalian Windows

WindowsServerBackup ialah fungsi yang disertakan dengan sistem pengendalian WindowsServer, direka untuk membantu pengguna melindungi data penting dan konfigurasi sistem, serta menyediakan penyelesaian sandaran dan pemulihan yang lengkap untuk perusahaan peringkat kecil, sederhana dan perusahaan. Hanya pengguna yang menjalankan Server2022 dan lebih tinggi boleh menggunakan ciri ini. Dalam artikel ini, kami akan menerangkan cara memasang, menyahpasang atau menetapkan semula WindowsServerBackup. Cara Menetapkan Semula Sandaran Pelayan Windows Jika anda mengalami masalah dengan sandaran pelayan anda, sandaran mengambil masa terlalu lama, atau anda tidak dapat mengakses fail yang disimpan, maka anda boleh mempertimbangkan untuk menetapkan semula tetapan sandaran Pelayan Windows anda. Untuk menetapkan semula Windows

Perisian peta AMAP menyediakan kemudahan yang hebat untuk perjalanan pengguna dengan fungsinya yang sangat baik. Antaranya, fungsi trafik masa nyata amat dipuji pengguna kerana ia dapat membantu pengguna memahami keadaan jalan raya dengan lebih tepat, mengelak kesesakan, dan memilih laluan terbaik. Kemudian Zian boleh membuka keadaan trafik masa nyata peta Amap. Pengguna yang ingin mengetahui lebih lanjut mengenainya boleh mengikuti panduan tutorial editor di bawah untuk mengetahui lebih lanjut mengenainya. Bagaimana untuk menghidupkan keadaan trafik masa nyata pada Peta Amap? Langkah-langkah khusus: 1. Mula-mula buka perisian Amap dan masukkan halaman utama Kita boleh melihat butang pemberitahuan, lapisan dan maklum balas di sudut kanan atas. 2. Kemudian selepas mengklik, kotak dialog akan muncul . , di sini kita klik [Keadaan Trafik]

Baru-baru ini, ramai rakan telah bertanya kepada editor bagaimana untuk membuat sandaran sistem dengan ghost. 1. Selepas menjalankan Ghost, klik "OK", seperti yang ditunjukkan dalam rajah. 2. Klik "Local" → "Partition" → "ToImage" (maksudnya: local → partition → ke fail imej), seperti yang ditunjukkan dalam rajah. 3. Tetingkap Select Local Hard Disk muncul, klik cakera keras di mana partition yang hendak disandarkan terletak, dan kemudian klik "OK", seperti yang ditunjukkan dalam rajah. 4. Tetingkap Select Source Partition muncul (partition sumber ialah partition yang anda ingin sandarkan), klik pada partition di mana sistem berada (biasanya Zon 1, pastikan anda membetulkannya), dan kemudian klik "OK" , seperti yang ditunjukkan dalam rajah. 5. Bermain pada masa ini

Dalam masyarakat moden, telefon bimbit telah menjadi alat yang sangat diperlukan dalam kehidupan manusia. Fungsi telefon pintar semakin berkuasa, memenuhi pelbagai keperluan kehidupan harian, kerja dan hiburan orang ramai. Bagi sesetengah pengguna yang perlu menggunakan berbilang akaun WeChat pada masa yang sama, adalah amat penting untuk mendayakan fungsi dwi WeChat. Artikel ini akan mengajar anda cara mendayakan dua fungsi WeChat pada telefon Huawei anda, membolehkan anda mengurus berbilang akaun WeChat dengan mudah. Pertama sekali, sistem EMUI yang disertakan dengan telefon mudah alih Huawei sudah menyokong fungsi WeChat dwi di peringkat sistem, jadi anda hanya perlu mengikuti langkah berikut untuk menyediakannya.
