您好,登錄后才能下訂單哦!
場景一
????昨天凌晨2點做過一次完全備份,白天正常使用,該下班的時候,好巧啊!硬盤壞了。不過幸運的是做過備份并且二進制日志和數據庫分開存放
1、建立數據庫并開啟二進制日志
建立用于存放二進制日志的文件夾,修改文件夾屬組屬主使mysql用戶可以讀
二點鐘做完全備份,備份完看下是否備份成功
mysqldump?-A?-F?--single-transaction?--master-data=2?>?/backup/fullbak`date?+%F`.sql
less /backup/fullbak2019-07-11.sql? ? #--master-data選項在備份時自動記錄bin-log的位置
模擬2點到18點的數據修改
2、存放數據庫的硬盤損壞,所有數據庫丟失
3、還原
故障恢復中可以讓用戶暫停訪問數據庫
vi /etc/my.cnf? #添加一行
systemctl restart mariadb
查看當前二進制日志的位置
從二進制日志中獲取2點到18點數據
[root@swh?~]mysqlbinlog??--start-position=245?/data/logbin/mysql-bin.000003?>?/backup/inc.sql [root@swh?~]#mysqlbinlog??/data/logbin/mysql-bin.000004?>>?/backup/inc.sql [root@swh?~]#mysqlbinlog??/data/logbin/mysql-bin.000005?>>?/backup/inc.sql [root@swh?~]#mysqlbinlog??/data/logbin/mysql-bin.000006?>>?/backup/inc.sql
由于恢復數據庫會產生大量的日志,可以臨時關閉二進制日志
MariaDB?[(none)]>?set?sql_log_bin=off; MariaDB?[(none)]>?source??/backup/fullbak2019-07-11.sql??#導入完全備份 MariaDB?[(none)]>?source??/backup/inc.sql?????#導入增量備份 MariaDB?[(none)]>?set?sql_log_bin=on; 恢復后檢查數據庫,恢復訪問 MariaDB?[hellodb]>?select?*?from?students;
vi?/etc/my.cnf??#去掉skip-networking
場景二
????凌晨2點做過一次完全備份,白天使用過程中,某同事誤刪除數據庫,當時并未發現,直到下班的時候出故障了
1、數據庫完全備份
mysqldump?-A?-F?--single-transaction?--master-data=2?>?/backup/fullbak`date?+%F`.sql
less /backup/fullbak2019-07-11.sql? ???? #--master-data選項在備份時自動記錄bin-log的位置
2、表被刪除,但是沒有發現,繼續使用,在18點發現問題
3、還原
故障恢復中可以讓用戶暫停訪問數據庫
vi /etc/my.cnf? #添加一行
systemctl restart mariadb
查看當前日志的位置
根據備份文件中記錄的日志位置,從二進制日志獲取增量
[root@swh?~]#mysqlbinlog??--start-position=245?/data/logbin/mysql-bin.000013?>?/backup/inc.sql [root@swh?~]#cp?/backup/inc.sql??/backup/inc.sql.bak????#修改下備份下 [root@swh?~]#vi?/backup/inc.sql???#從二進制日志中找出刪表語句并刪除,剩下的日志就是使用的日志
[root@swh?~]#rm?-rf?/var/lib/mysql/*????#可以選擇刪除所有數據庫恢復,或者直接恢復增量備份 [root@swh?~]#systemctl?restart?mariadb MariaDB?[(none)]>?set?sql_log_bin=off; MariaDB?[(none)]>?source??/backup/fullbak2019-07-11.sql MariaDB?[(none)]>?source?/backup/inc.sql MariaDB?[(none)]>?set?sql_log_bin=on;
檢查數據
vi?/etc/my.cnf??#去掉skip-networking
雖然可以恢復但是花費的時間成本或許是相當大的,生產環境還需慎重
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。