Heim Datenbank MySQL-Tutorial MySQL单表ibd文件恢复方法详解_MySQL

MySQL单表ibd文件恢复方法详解_MySQL

Jun 01, 2016 pm 01:23 PM
新建

bitsCN.com 前言:
随着innodb的普及,innobackup也成为了主流备份方式。物理备份对于新建slave,全库恢复的需求都能从容应对。
但当面临单表数据误删,或者单表误drop的情况,如果使用物理全备进行恢复呢?
下文将进行详细分析。
恢复过程中需要用到的工具,percona data recover tool : https://launchpad.net/percona-innodb-recovery-tool

情况一:误删部分数据,需要用最近一次备份覆盖
来自同一台机器的ibd恢复覆盖,且备份后table没有被recreate过。
这种情况是最简单的,备份时的ibd文件(后称老ibd)中的space id和index id 与 新ibd的space id 和index id一致。
且和ibdata文件中的space id和index id一致。因此,物理文件可以直接覆盖做恢复。
以下是详细步骤

Step -1 : 物理备份
innobackupex --defaults-file=/usr/local/mysql3321/my.cnf --socket=/xfs/mysql3321/mysql.sock --user=root --password=password /xfs/backup/
Step 0 : apply log
innobackupex --apply-log --defaults-file=/usr/local/mysql3321/my.cnf /xfs/backup/2012-10-17_11-29-20/
Step 1 : 备份现在的ibd文件(可选)
cp -a testibd.ibd testibd.bak
Step 2 : 舍弃现在ibd文件
mysql> alter table testibd discard tablespace
Step 3 : 复制备份ibd文件
shell> cp /xfs/backup/2012-10-17_11-29-20/test/testibd.ibd /xfs/mysql3321/test/
shell> chown mysql:mysql /xfs/mysql3321/test/testibd.ibd
Step 4 : 导入ibd文件
mysql> alter table testibd import tablespace

情况二:误删 table,表结构已经被drop了
这种情况稍复杂,不过恢复过程还是比较容易操作的。由于table被drop后的space id会留空因此备份文件的space id不会被占用。
我们只需要重建表结构,然后把ibdata中该表的space id还原,物理文件可以直接覆盖做恢复了。

Step 1 : 重建表
mysql> create table testibd (UserID int);
Step 2 : 关闭mysql服务(必须)
shell> service mysqld3321 stop
Step 3: 准备ibd文件 apply log
shell> innobackupex --apply-log --defaults-file=/usr/local/mysql3321/my.cnf /xfs/backup/2012-10-17_11-29-20/
Step 4 : 备份现在的ibd文件(可选)
cp -a testibd.ibd testibd.bak
Step 5 : 复制备份ibd文件
shell> cp -a /xfs/backup/2012-10-17_11-29-20/test/testibd.ibd /xfs/mysql3321/test/
shell> chown mysql:mysql /xfs/mysql3321/test/testibd.ibd
Step 6 : 使用percona recovery tool 修改ibdata
shell> /root/install/percona-data-recovery-tool-for-innodb-0.5/ibdconnect -o /xfs/mysql3321/ibdata1 -f /xfs/mysql3321/test/testibd.ibd -d test -t testibd

Initializing table definitions...
Processing table: SYS_TABLES
- total fields: 10
- nullable fields: 6
- minimum header size: 5
- minimum rec size: 21
- maximum rec size: 555
Processing table: SYS_INDEXES
- total fields: 9
- nullable fields: 5
- minimum header size: 5
- minimum rec size: 29
- maximum rec size: 165
Setting SPACE=1 in SYS_TABLE for `test`.`testibd`
Check if space id 1 is already used
Page_id: 8, next page_id: 4294967295
Record position: 65
Checking field lengths for a row (SYS_TABLES): OFFSETS: 16 8 50 3 2 0 0 0 0 0
Db/table: infimum
Space id: 1768842857 (0x696E6669)
Next record at offset: 8D
Record position: 8D
Checking field lengths for a row (SYS_TABLES): OFFSETS: 16 11 17 24 32 36 40 48 52 52
Db/table: SYS_FOREIGN
Space id: 0 (0x0)
Next record at offset: D5
Record position: D5
Checking field lengths for a row (SYS_TABLES): OFFSETS: 16 16 22 29 37 41 45 53 57 57
Db/table: SYS_FOREIGN_COLS
Space id: 0 (0x0)
Next record at offset: 122
Record position: 122
Checking field lengths for a row (SYS_TABLES): OFFSETS: 16 12 18 25 33 37 41 49 53 53
Db/table: test/testibd
Space id: 2 (0x2)
Next record at offset: 74
Space id 1 is not used in any of the records in SYS_TABLES
Page_id: 8, next page_id: 4294967295
Record position: 65
Checking field lengths for a row (SYS_TABLES): OFFSETS: 16 8 50 3 2 0 0 0 0 0
Db/table: infimum
Space id: 1768842857 (0x696E6669)
Next record at offset: 8D
Record position: 8D
Checking field lengths for a row (SYS_TABLES): OFFSETS: 16 11 17 24 32 36 40 48 52 52
Db/table: SYS_FOREIGN
Space id: 0 (0x0)
Next record at offset: D5
Record position: D5
Checking field lengths for a row (SYS_TABLES): OFFSETS: 16 16 22 29 37 41 45 53 57 57
Db/table: SYS_FOREIGN_COLS
Space id: 0 (0x0)
Next record at offset: 122
Record position: 122
Checking field lengths for a row (SYS_TABLES): OFFSETS: 16 12 18 25 33 37 41 49 53 53
Db/table: test/testibd
Space id: 2 (0x2)
Updating test/testibd (table_id 17) with id 0x01000000
SYS_TABLES is updated successfully
Initializing table definitions...
Processing table: SYS_TABLES
- total fields: 10
- nullable fields: 6
- minimum header size: 5
- minimum rec size: 21
- maximum rec size: 555
Processing table: SYS_INDEXES
- total fields: 9
- nullable fields: 5
- minimum header size: 5
- minimum rec size: 29
- maximum rec size: 165
Setting SPACE=1 in SYS_INDEXES for TABLE_ID = 17
Page_id: 11, next page_id: 4294967295
Record position: 65
Checking field lengths for a row (SYS_INDEXES): OFFSETS: 15 8 50 7 2 0 0 0 0
TABLE_ID: 3798561113125514496
SPACE: 1768842857
Next record at offset: 8C
Record position: 8C
Checking field lengths for a row (SYS_INDEXES): OFFSETS: 15 8 16 22 29 35 39 43 47
TABLE_ID: 11
SPACE: 0
Next record at offset: CE
Record position: CE
Checking field lengths for a row (SYS_INDEXES): OFFSETS: 15 8 16 22 29 36 40 44 48
TABLE_ID: 11
SPACE: 0
Next record at offset: 111
Record position: 111
Checking field lengths for a row (SYS_INDEXES): OFFSETS: 15 8 16 22 29 36 40 44 48
TABLE_ID: 11
SPACE: 0
Next record at offset: 154
Record position: 154
Checking field lengths for a row (SYS_INDEXES): OFFSETS: 15 8 16 22 29 35 39 43 47
TABLE_ID: 12
SPACE: 0
Next record at offset: 22C
Record position: 22C
Checking field lengths for a row (SYS_INDEXES): OFFSETS: 15 8 16 22 29 44 48 52 56
TABLE_ID: 17
SPACE: 2
Updating SPACE(0x00000001 , 0x01000000) for TABLE_ID: 17
sizeof(s)=4
Next record at offset: 74
SYS_INDEXES is updated successfully

Step 7 : 使用percona recovery tool 重新checksum ibdata
重复执行以下命令,直到程序没有输出为止。
shell> /root/install/percona-data-recovery-tool-for-innodb-0.5/innochecksum -f /xfs/mysql3321/ibdata1

page 8 invalid (fails old style checksum)
page 8: old style: calculated = 0xF4AD74CB; recorded = 0xEECB309D
fixing old checksum of page 8
page 8 invalid (fails new style checksum)
page 8: new style: calculated = 0x6F0C29B4; recorded = 0x3D02308C
fixing new checksum of page 8
page 11 invalid (fails old style checksum)
page 11: old style: calculated = 0x3908087C; recorded = 0xF9E8D30C
fixing old checksum of page 11
page 11 invalid (fails new style checksum)
page 11: new style: calculated = 0xB26CFD77; recorded = 0xDB25D39D
fixing new checksum of page 11

Step 8 : 启动mysql服务
shell> service mysqld3321 startbitsCN.com

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erstellen Sie einen neuen Simulator im Lightning Simulator - So erstellen Sie einen neuen Simulator im Lightning Simulator So erstellen Sie einen neuen Simulator im Lightning Simulator - So erstellen Sie einen neuen Simulator im Lightning Simulator Mar 05, 2024 pm 03:04 PM

Kürzlich haben einige Benutzer, die gerade die Lightning-Simulator-Software heruntergeladen und kontaktiert haben, den Herausgeber gefragt, wie man einen neuen Simulator im Lightning-Simulator erstellt. Der folgende Inhalt zeigt die Methode zum Erstellen eines neuen Simulators im Lightning-Simulator . Finden Sie die Blitzsimulator-Software. Doppelklicken Sie, um den Thunderbolt-Mehrfachöffner zu öffnen. Klicken Sie auf Neu/Simulator kopieren. Klicken Sie auf Neuer Simulator. Sie können einen neuen Simulator bekommen. Suchen Sie die Lightning-Simulator-Software, doppelklicken Sie, um den Lightning-Multi-Opener zu öffnen, klicken Sie auf Neu/Simulator kopieren, klicken Sie auf Neuer Simulator, und Sie erhalten einen neuen Simulator.

So erstellen Sie ein neues Word-Dokument auf Ihrem Computer So erstellen Sie ein neues Word-Dokument auf Ihrem Computer Dec 27, 2023 pm 10:05 PM

Es gibt viele Möglichkeiten, ein neues Word-Dokument zu erstellen. Wir können auf den Desktop klicken und auf „Neues Doc-Dokument“ oder „Docx-Dokument“ klicken. Die spezifischen Methoden sind ähnlich. So erstellen Sie ein neues Word-Dokument mit einem Computer: win11: 1. Zuerst klicken wir mit der rechten Maustaste auf „Neu“. 2. Wählen Sie dann die Datei „docx oder doc“ aus. 3. Abschließend kann die Erstellung abgeschlossen werden. win10: 1. Wir klicken mit der rechten Maustaste und wählen „Neu“. 2. Wählen Sie anschließend eines der beiden Dokumente aus. 3. Schließlich ist die Erstellung abgeschlossen. win7: 1. Klicken Sie zunächst mit der rechten Maustaste und wählen Sie „Neu“. 2. Wählen Sie dann das Word-Dokument aus. 3. Abschließend kann die Neuanlage abgeschlossen werden.

So erstellen Sie eine graue Version eines neuen übergreifenden Volumes auf einer Win10-Festplatte So erstellen Sie eine graue Version eines neuen übergreifenden Volumes auf einer Win10-Festplatte Jul 02, 2023 am 08:13 AM

Was soll ich tun, wenn das neu erstellte übergreifende Volume auf der Win10-Festplatte ausgegraut ist? Manchmal gibt es auf unserer Festplatte mehrere ungenutzte Speicherplätze. Wir können sie zusammenführen und in einem logischen Volume ablegen, sodass der Speicherplatz auf mehreren Festplatten effizienter genutzt werden kann. Einige Internetnutzer sagten jedoch, dass ihr Win10-System beim Erstellen eines neuen übergreifenden Volumes Probleme hatte. Sie stellten fest, dass das neue übergreifende Volume auf der Festplatte nicht ausgegraut war. Wie erstelle ich ein neues übergreifendes Volume? Der folgende Editor zeigt Ihnen die richtige Methode zum Erstellen eines neuen zonenübergreifenden Volumes. Graue Lösungsschritte zum Erstellen eines übergreifenden Volumes auf einer Win10-Festplatte. Zunächst kann, wie in der Abbildung unten gezeigt, der Speicherplatz auf den beiden Festplatten dasselbe Volume nutzen und einfach ein übergreifendes Volume erstellt werden. Dann kann der Grund dafür, dass das übergreifende Volume nicht ausgegraut werden kann, folgende Faktoren sein: 1. Wenn es einen Bereich enthält

Detaillierte Methode zum Erstellen eines neuen Monatsberichts über Enterprise WeChat Detaillierte Methode zum Erstellen eines neuen Monatsberichts über Enterprise WeChat Mar 25, 2024 pm 05:36 PM

1. Öffnen Sie Enterprise WeChat. 2. Klicken Sie links auf die Symbolschaltfläche [App]. 3. Klicken Sie auf die Optionen [Bericht], [Neu], [Monatlicher Bericht]. 4. Dann sehen Sie, dass Sie die Arbeit dieses Monats usw. eingeben müssen. 5. Geben Sie den Inhalt der Arbeit dieses Monats ein. Sie können den Rest ausfüllen oder auch nicht, und klicken Sie auf die Schaltfläche [Senden]. 6. Abschließend können Sie die Details Ihres Monatsberichts einsehen.

Lösen Sie das Problem, dass es beim Rechtsklick von Win10 keine Option „Neu' gibt Lösen Sie das Problem, dass es beim Rechtsklick von Win10 keine Option „Neu' gibt Jan 05, 2024 am 09:45 AM

Bei der Verwendung des Win10-Systems stellen einige Freunde fest, dass es im Rechtsklickmenü keine neue Option gibt, wenn sie mit der rechten Maustaste auf den Desktop klicken. Tatsächlich müssen sie nur über die Registrierung eine Option hinzufügen, um mit der rechten Maustaste zu klicken und ein neues erstellen. Was tun, wenn bei einem Rechtsklick unter Windows 10 die Option „Neu“ nicht angezeigt wird: 1. Drücken Sie die Tastenkombination + Öffnen und Ausführen, geben Sie ein und klicken Sie auf „OK“, um den Registrierungseditor zu öffnen. 2. Erweitern Sie dann die Ordner:. 3. Suchen Sie dann den Ordner. Wenn kein solcher Ordner vorhanden ist, klicken Sie mit der rechten Maustaste auf den Ordner und benennen Sie ihn. 4. Nachdem wir die Datei im neuen Ordner geöffnet haben, ändern wir diese numerischen Daten in. 5. Starten Sie anschließend den Computer neu, um das Problem zu beheben.

Schritt-für-Schritt-Anleitung zum Erstellen von Ordnern auf dem Realme-Mobiltelefon Schritt-für-Schritt-Anleitung zum Erstellen von Ordnern auf dem Realme-Mobiltelefon Mar 23, 2024 pm 03:51 PM

Schritt-für-Schritt-Anleitung zum Erstellen von Ordnern auf Realme-Mobiltelefonen In unserem täglichen Leben verwenden wir unsere Telefone zum Speichern einer Vielzahl von Dateien, darunter Fotos, Videos, Dokumente und mehr. Mit der Zeit kann jedoch die Anzahl der Dateien auf Ihrem Telefon zunehmen, was dazu führen kann, dass der Speicher auf Ihrem Telefon nicht ausreicht oder die Verwaltung von Dateien erschwert wird. Um Dateien besser zu organisieren und die Effizienz der Handynutzung zu steigern, ist die Einrichtung von Handyordnern besonders wichtig geworden. Realme Mobile ist eine beliebte Smartphone-Marke mit einem leistungsstarken System und vielfältigen Funktionen. Durch das Erstellen von Ordnern auf Realme-Telefonen können Benutzer Dateien besser organisieren

Win11 neues Dokument-Tutorial Win11 neues Dokument-Tutorial Dec 30, 2023 pm 07:59 PM

In Win11 können wir Artikel oder Notizen hinzufügen, indem wir ein neues Dokument erstellen, aber einige Freunde wissen nicht, wie man in Win11 ein neues Dokument erstellt. Klicken Sie einfach mit der rechten Maustaste auf die leere Stelle. So erstellen Sie ein neues Dokument in Win11: 1. Klicken Sie mit der rechten Maustaste auf die leere Stelle des Desktops oder Explorers und wählen Sie „Neu“ 2. Wählen Sie dann „Textdokument“ 3. Nachdem die neue Erstellung abgeschlossen ist, können Sie Ihr neues Dokument sehen erstelltes Textdokument. 4. Wir können uns auch für die „Erstellung“ eines „doc/docx-Dokuments“ entscheiden. 5. Nachdem die Erstellung abgeschlossen ist, doppelklicken Sie auf das Dokument, um es zu öffnen.

So erstellen Sie ein neues Unterkonto bei Feige Customer Service Workbench - So erstellen Sie ein neues Unterkonto bei Feige Customer Service Workbench So erstellen Sie ein neues Unterkonto bei Feige Customer Service Workbench - So erstellen Sie ein neues Unterkonto bei Feige Customer Service Workbench Mar 04, 2024 pm 04:58 PM

Viele Menschen verwenden bei der Arbeit Feige Customer Service Workbench. Wissen Sie also, wie Sie ein neues Unterkonto bei Feige Customer Service Workbench erstellen? Sie sind interessiert. Schauen wir uns unten um. 1. Gehen Sie zunächst zur Hauptseite, klicken Sie links auf den Shop und wählen Sie die Option „Store-Verwaltung“. 2. Klicken Sie dann in der Dropdown-Option auf die Option zur Unterkontoverwaltung. 3. Klicken Sie abschließend im Account Management Office auf Neues Unterkonto erstellen.

See all articles