mysql被刪庫後的還原

2021-08-14 01:14:55 字數 1642 閱讀 4514

模擬誤刪除的恢復操作

假設備份時間是晚上12點,有人誤操作刪庫時間是早上10點,刪庫後拯救資料庫。

改時間

date

-s"2017-12-24 00:00"

模擬備份:

mysqldump -uroot

-pqb123

-s /data/3306/mysql.sock --master-data=2

--single-transaction

-f-a

|gzip>

./sql_bak_$(date

+%f).sql.gz

模擬刪庫前寫入資料

insert

into test(name) values("t1");

insert

into test(name) values("t2")

改時間到上午10點:

date

-s"2017-12-24 10:00"

模擬誤操作刪庫:

drop

database liao;

找到問題後,恢復過程中,需要停庫(鎖表、下負載、或者更改iptables),防止恢復變的麻煩

#如果資料庫不能停,我們需要立刻重新整理下biglog(不得已的辦法,因為恢復插入的語句也會寫入新的binlog,如果不停,建議斷掉乙個從庫,然後在從庫上面做文章)

mysqladmin -uroot

-pqb123

-s /data/3306/mysql.sock flush-logs

找到我們的備份資料,全量恢復:

mysql -uroot

-pqb123

-s /data/3306/mysql.sock 24.sql

找到我們備份後需要恢復的binlog

less sql_bak_2017-12-24.sql中的下面語句

– change master to master_log_file=』mysql-bin.000026』, master_log_pos=120;

找到對應的binlog後對應恢復成sql

mysqlbinlog

data/mysql-bin.000026 >./add.sql

mysql -uroot

-pqb123

-s /data/3306/mysql.sock liao <

./add.sql

開啟資料庫可發現,庫回來了,資料也回來了

mysql> select * from liao.test;

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

| name |

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

| 大公尺公尺 |

| 測試 |

| fanli |

| 改變 |

| ff1 |

| t1 |

| t2 |

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

Godaddy還原Mysql資料庫後中文亂碼解決

1.用記事本開啟備份好的sql文字,確保檔案裡的資料是否顯示正常。2.檢視此文字的儲存格式,一般是ansi 中文一般指gbk或gb2312 和utf 8.3.如果檔案的儲存格式是ansi,那麼請在sql檔案的最頂端添上以下的語句 40101 set names gbk 如果檔案的儲存格式是utf 8...

MySQL資料庫還原

當資料庫中的資料,遭到破壞時,可以通過備份好的資料檔案進行還原 是指還原資料庫中的資料,然後,庫是不能被還原的 備份檔案,實際上就是由多個create insert和drop語句組成,因此,只要使用mysql命令執行,這些語句就可以將資料還原 語法格式 mysql uusername ppasswo...

MySQL資料庫被刪除如何恢復

第一步 保證mysql已經開啟binlog,檢視命令 檢視binklog是否開啟 show variables like log bin 檢視binlog存放日誌檔案目錄 如下圖,博主binlog目錄為 data mysql show variables like datadir 值為off,需開啟...