Cara Mengembalikan data dari log biner

11

Bagaimana saya bisa mengembalikan file dan foto saya dari file biner?

Anto
sumber

Jawaban:

7

Apakah Anda tahu file binlog mana yang perlu Anda pulihkan dan ada berapa file binlog?

Dengan menggunakan mysqlbinlogutilitas, kita dapat melihat konten file binlog.

Jika itu adalah satu file, Anda dapat memulihkan menggunakan:

mysqlbinlog /var/lib/mysql-bin.000016 | mysql uroot pReset123

Jika banyak file maka ekstrak semua konten ke satu file .sql dan langsung pulihkan:

mysqlbinlog /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

Untuk menambahkan konten binlog kedua ke file allbinlof.sql gunakan perintah di bawah ini:

mysqlbinlog /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql

Anda juga dapat mengecualikan pernyataan tertentu menggunakan opsi mysqlbinlog. Coba ini di bawah ini untuk opsi:

mysqlbinlog --help
Vinay
sumber
4

Gunakan langkah-langkah di bawah ini untuk memulihkan data dari log biner atau gunakan tautan ini untuk memahami proses restorasi: MySQL Binary Log Restoration

Pertama, pulihkan database dari cadangan terbaru

mysql -u username -ppassword database_name < dump.sql

Kemudian lakukan salah satu dari:

  • Pulihkan sisa data dari log biner.

    Jika Anda memiliki lebih dari satu log biner untuk dijalankan di server MySQL, metode aman adalah memproses semuanya menggunakan koneksi tunggal ke server.

    mysqlbinlog mysql_bin.000001 | mysql -u root -ppassword database_name
    mysqlbinlog mysql_bin.000002 | mysql -u root -ppassword database_name
    

    atau:

    mysqlbinlog mysql_bin.000001 mysql_bin.000002 | mysql -u root -ppassword database_name
  • Kembalikan data berdasarkan waktu

    mysqlbinlog --start-datetime="2005-04-20 10:01:00" \
                --stop-datetime="2005-04-20 9:59:59" mysql_bin.000001 \
                | mysql -u root -ppassword database_name
    
  • Kembalikan data berdasarkan posisi

    mysqlbinlog --start-position=368315 \
                --stop-position=368312 mysql_bin.000001 \
                | mysql -u root -ppassword database_name
    
Saharsh Shah
sumber
2
Contoh pertama memulihkan lebih dari satu log biner secara khusus tidak aman, seperti yang dicatat dalam dokumentasi.
Ruben
2

Anda dapat menggunakan opsi -v untuk membuat file .sql dalam format READABLE .

Sebagai contoh

mysqlbinlog -v /var/lib/mysql-bin.000016 > /logs/allbinlog.sql

mysqlbinlog -v /var/lib/mysql-bin.000016 >> /logs/allbinlog.sql
Ronak Vyas
sumber