Rumah pangkalan data tutorial mysql 通过Mysql-bin日志恢复还原数据

通过Mysql-bin日志恢复还原数据

Jun 07, 2016 pm 05:22 PM
binlog

提取出来后,里面就是所有对terminfo的sql语句了,把这些数据导入到测试库terminfo0730表中

事情是这样的:由于个人粗心,在7月30号那天协助其它部门批量更新一些数据,谁知道全局更新了,而这个问题竟然在9月26号才发现告知我。他们要求把更新有误的数据恢复到7月30号之前状态,并且7月30号到9月26号这段时间所做的增删改的操作也要更新进去。由于之前没啥经验,心里也没底,但是没办法,自己做错事自己承担。

做法思路:把备份的数据导到测试库里面去,然后把7月30号到9月26号之间的binlog日志提取出对这个表进行操作的sql语句,然后再导进去。

苦逼的还原过程开始了.........

1.幸好本人养成了个好习惯,无论改动的大小我都会先备份一份数据

-rw-r--r-- 1 root root 2473664 07-30 09:38 terminfo-bak0730.sql

找到了,果然是7月30号早上09点38分左右备份的,幸好有备份啊,要不然就悲催了.......先把备份的导到测试数据库上,表名改为terminfo0730,然后再把当前生产的数据导到,表名改为terminfo0926,这样的做法是在还原数据后匹配一下数据有没有对得上。






+----------------+

2.最重要的一步来了,,就是提取binlog日志。因为7月30号备份的,所以要找7月30号之后到9月26号的binlog。





利用mysqlbinlog命令先进行第一轮的sql语句提取

#mysqlbinlog --no-defaults --database=ecard --start-datetime='2012-07-30 09:38:00' mysql-bin.000086 > log86.txt  # 这里要设置起始时间
#mysqlbinlog --no-defaults --database=ecard  mysql-bin.000087 > log87.txt
#mysqlbinlog --no-defaults --database=ecard  mysql-bin.000088 > log88.txt
#mysqlbinlog --no-defaults --database=ecard  mysql-bin.000089 > log89.txt
#mysqlbinlog --no-defaults --database=ecard  mysql-bin.000090 > log90.txt

#ls -l




提取出来后是全部的sql语句,而我需要的是只对terminfo操作的sql语句,所以要进行第二轮提取

#grep terminfo log86.txt > log86-terminfo.txt #依次grep出来





提取出来后,里面就是所有对terminfo的sql语句了,把这些数据导入到测试库terminfo0730表中

mysql > source log86-terminfo.txt; #依次source进去,务必要注意顺序问题!!!

导进去之后再比较一下terminfo0730和terminfo0926表的数据数量有没有一样,然后再叫部门同事验证一下数据正确性。

到此,数据成功恢复还原。一次难忘的经历啊,也同时告诫自己,细心细心再细心!!

linux

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1662
14
Tutorial PHP
1261
29
Tutorial C#
1234
24
Cara menggunakan binlog MySQL, buat semula log dan buat asal log Cara menggunakan binlog MySQL, buat semula log dan buat asal log Jun 03, 2023 pm 12:59 PM

1. Binlog Binlog digunakan untuk merekodkan operasi tulis (tidak termasuk pertanyaan) maklumat yang dilakukan oleh pangkalan data dan menyimpannya pada cakera dalam bentuk binari. Binlog ialah log logik mysql dan direkodkan oleh lapisan pelayan pangkalan data Mysql menggunakan mana-mana enjin storan akan merekodkan log binlog. Log logik: boleh difahami secara ringkas sebagai penyataan sql log fizikal: data dalam MySQL disimpan dalam halaman data, dan rekod log fizikal berubah pada halaman data masukkan sekeping kod di sini dan binlog ditulis dengan menambahkan Input; anda boleh menetapkan saiz setiap fail binlog melalui parameter max_binlog_size Apabila saiz fail mencapai nilai yang diberikan

Apakah log Binlog MySQL dan replikasi tuan-hamba? Apakah log Binlog MySQL dan replikasi tuan-hamba? May 27, 2023 pm 08:40 PM

1. Pengenalan kepada Binlog log Binlog ialah singkatan Binarylog iaitu binary log. Binlog mempunyai tiga fungsi utama: menukar IO rawak kepada IO berjujukan semasa kegigihan, replikasi tuan-hamba dan pemulihan data. Artikel ini memfokuskan pada isu yang berkaitan dengan replikasi tuan-hamba. Log Binlog terdiri daripada fail indeks dan banyak fail log Setiap fail log terdiri daripada nombor ajaib dan setiap fail log berakhir dengan acara jenis Putar. Bagi setiap acara, ia boleh dibahagikan kepada dua bahagian: pengepala acara dan badan acara: Struktur pengepala acara adalah seperti berikut: Struktur badan acara merangkumi dua bahagian: saiz tetap dan saiz berubah. Untuk format log Binlog, anda boleh mempunyai pemahaman yang mudah. ​​Pelajar yang berminat boleh pergi lebih mendalam.

Apakah perbezaan antara redo log dan binlog dalam MySQL? Apakah perbezaan antara redo log dan binlog dalam MySQL? Jun 03, 2023 pm 06:53 PM

Prakata Terdapat enam jenis fail log dalam MySQL iaitu: redo log (redolog), rollback log (undolog), binary log (binlog), error log (errorlog), slow query log (slowquerylog), general query log (generallog). ), log geganti (relaylog). 1. Apakah redolog? Redolog, juga dikenali sebagai fail log semula, digunakan untuk merekodkan perubahan dalam operasi urus niaga Ia merekodkan nilai selepas pengubahsuaian data Ia akan direkodkan tidak kira sama ada transaksi diserahkan atau tidak. Fail redolog boleh berguna apabila kejadian dan media gagal (mediafailure), seperti gangguan kuasa pangkalan data, Inn

Apakah perbezaan antara komit lambat dalam pertanyaan lambat MySQL dan transaksi lambat dalam binlog? Apakah perbezaan antara komit lambat dalam pertanyaan lambat MySQL dan transaksi lambat dalam binlog? May 30, 2023 am 08:07 AM

1. Sumber masalah Apabila menganalisis masalah prestasi, pertanyaan perlahan dan transaksi perlahan binlog adalah kaedah yang biasa digunakan. Baru-baru ini, saya sedang menganalisis pertanyaan yang perlahan dan mendapati bahawa ia mengandungi sejumlah besar pernyataan komit yang perlahan, tetapi pemadanan tidak dapat diselesaikan apabila menganalisis urus niaga perlahan binlog. Sebagai contoh, mungkin terdapat 1,000 penyata komit dalam tempoh ini, tetapi mungkin terdapat hanya 100 urus niaga yang perlahan Ini terlalu berbeza. Jadi mengapa fenomena ini berlaku? 2. Kaedah penentuan masing-masing untuk urus niaga perlahan biasanya seperti berikut untuk transaksi (masukkan) secara eksplisit: GTID_LOG_EVENT dan XID_EVENT ialah masa apabila arahan 'COMMIT' dimulakan.

Bagaimana untuk membuat sandaran skrip untuk binlog dalam MySQL Bagaimana untuk membuat sandaran skrip untuk binlog dalam MySQL Jun 03, 2023 pm 06:53 PM

Mengenai log binari MySQL (binlog), kita semua tahu bahawa log binari (binlog) adalah sangat penting, terutamanya apabila anda memerlukan pemulihan bencana titik-ke-titik, jadi kami perlu menyandarkannya. Mengenai sandaran log binari (binlog), anda boleh menukar binlog berdasarkan kaedah flushlogs dahulu, dan kemudian menyalin & memampatkannya ke storan lain pada pelayan jauh atau pelayan setempat, seperti storan NAS yang dipasang Anda juga boleh menggunakan mysqlbinlog untuk membuat sandaran binlog. Laksanakan sandaran tempatan atau sandaran jauh log binari MySQL (binlog). Akhirnya, log binari MySQL (binlog

Bagaimana mereka bentuk seni bina sistem storan MySQL Binlog Bagaimana mereka bentuk seni bina sistem storan MySQL Binlog Jun 02, 2023 pm 10:10 PM

1.Pengenalan kepada kingbus 1.1Apakah kingbus? Kingbus ialah sistem penyimpanan binlog MySQL yang diedarkan berdasarkan protokol ketekalan kuat rakit. Ia boleh bertindak sebagai MySQLSlave untuk menyegerakkan binlog daripada Master sebenar dan menyimpannya dalam kelompok yang diedarkan. Pada masa yang sama, ia juga bertindak sebagai MySQLMaster untuk menyegerakkan binlog dalam kelompok kepada hamba lain. kingbus mempunyai ciri-ciri berikut: Ia serasi dengan protokol replikasi MySQL, menyegerakkan binlog pada induk melalui Gtid, dan menyokong hamba untuk menarik binlog dari kingbus melalui Gtid. ,

Apakah perbezaan antara binlog/redolog/undolog dalam MySQL? Apakah perbezaan antara binlog/redolog/undolog dalam MySQL? May 27, 2023 am 08:29 AM

Apakah perbezaan antara MySQLbinlog/redolog/undolog? Jika saya ingin bercakap dengan anda tentang mekanisme penguncian dalam InnoDB, ia pasti akan melibatkan sistem pengelogan MySQL, binlog, redolog, undolog, dan lain-lain. Saya melihat bahawa tiga log yang diringkaskan oleh beberapa rakan ini tidak buruk, jadi saya cepat-cepat membawanya untuk berbincang dengan anda. Log adalah bahagian penting dalam pangkalan data MySQL, merekodkan pelbagai maklumat status semasa operasi pangkalan data. Log MySQL terutamanya termasuk log ralat, log pertanyaan, log pertanyaan perlahan, log transaksi dan log binari. Sebagai pembangun, perkara yang perlu kita fokuskan ialah log binari (binlog) dan log transaksi (termasuk redolog dan und

Cara menggunakan docker untuk membolehkan mysql binlog menyelesaikan masalah volum data Cara menggunakan docker untuk membolehkan mysql binlog menyelesaikan masalah volum data May 27, 2023 pm 01:34 PM

Prakata Semasa pembangunan, adalah perlu untuk memantau jadual data dengan memantau fail log binlog mysql Memandangkan mysql digunakan dalam bekas docker, masalah volum data juga perlu diselesaikan 1. Buka imej mysql melalui data volume dockerrun- p3307:3306--namemyMysql-v/usr/docker/mysql/data:/var/lib/mysql-eMYSQL_ROOT_PASSWORD=123456-dmysql:5.7.25 Nota: Anda perlu mencipta fail dalam direktori hos terlebih dahulu untuk menyimpan set data mysql, direktori yang saya buat di sini ialah /u

See all articles