Rumah >pangkalan data >tutorial mysql >Bagaimana untuk memulihkan data MySQL melalui fail log
Masukkan baris arahan mysql dan laksanakan arahan berikut
mysql> show master status; +------------------+-----------+ | Log_name | File_size | +------------------+-----------+ | binlog.000001 | 967 | | binlog.000002 | 965 | +------------------+-----------+
Secara amnya nombor terkini ialah lebih besar, yang terbaru di atas Yang satu ialah binlog.000002
Terdapat dua cara untuk menentukan. kedudukan mula dan kedudukan tamat, satu ialah menggunakan masa Sebagai permulaan dan tamat, satu ialah menggunakan kedudukan log sebagai kedudukan mula dan tamat
# at 131708213 #210610 11:27:01 server id 1 end_log_pos 131708311 CRC32 0x0fc755e2 Table_map: `loongwind_base`.`xxxx` mapped to number 139 # at 131708311 #210610 11:27:01 server id 1 end_log_pos 131708411 CRC32 0xa91616b9 Write_rows: table id 139 flags: STMT_END_F BINLOG ' BffBYBMBAAAAYgAAAJe12QcAAIsAAAAAAAEADmR4bWhfYmFzZV9oenN5ABpkeF9zeV9hc3NldHNf ZXh0ZW5kc19jb3B5MQAICAgIDwgSCBIEAAgAAPgBAQACA/z/AOJVxw8= BffBYB4BAAAAZAAAAPu12QcAAIsAAAAAAAMAAgAI/wDRAwAAm1M8AUIAAADRUjwBCgAAAFYL5gAM AOWFrOWuieacuuWFs7EBAADbwZkAmama6E+xAQAA28GZAJmpmuhPuRYWqQ== '/*!*/;
Kemudian tentukan titik masa sandaran terakhir Jika anda tidak dapat mencari titik masa sandaran terakhir melalui log, anda boleh mengisi titik masa dalam ingatan anda yang lebih kecil daripada sandaran terakhir
2.2 . Gunakan julat kedudukan
mysql -uroot -p'password' -e "show binlog events in 'binlog.000002'"|grep -i 'DROP TABLE'
. Keputusan perlaksanaan adalah seperti berikut:
binlog.000002 820474948 Pertanyaan 1 820475111 gunakan `loongwind_base ` / *do EXIST`S TABLE /*uF jana. * xid=11790691 */Iaitu, kedudukan yang dipadam ialah 820474948
atau gantikan kata kunci melalui arahan di atas Cari titik kedudukan sandaran terakhir
3. Pulihkan
mysqlbinlog --no-defaults --database=loongwind_base --start-datetime="2021-06-07 09:00:00" --stop-datetime="2021-06-10 16:37:58" binlog.000005 | mysql -uroot -p'password' -s -N -f -D loongwind_base
3.2 Pulihkan melalui kedudukan
mysqlbinlog --start-position=1178 --stop-position=2751 -d dxmh-sy binlog.000002|mysql -uroot -p'password' -s -N -f -D loongwind_base loongwind_base 为数据库名称
Atas ialah kandungan terperinci Bagaimana untuk memulihkan data MySQL melalui fail log. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!