場(chǎng)景一
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)禮縣免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
????昨天凌晨2點(diǎn)做過一次完全備份,白天正常使用,該下班的時(shí)候,好巧啊!硬盤壞了。不過幸運(yùn)的是做過備份并且二進(jìn)制日志和數(shù)據(jù)庫(kù)分開存放
1、建立數(shù)據(jù)庫(kù)并開啟二進(jìn)制日志
建立用于存放二進(jìn)制日志的文件夾,修改文件夾屬組屬主使MySQL用戶可以讀
二點(diǎn)鐘做完全備份,備份完看下是否備份成功
mysqldump?-A?-F?--single-transaction?--master-data=2?>?/backup/fullbak`date?+%F`.sql
less /backup/fullbak2019-07-11.sql? ? #--master-data選項(xiàng)在備份時(shí)自動(dòng)記錄bin-log的位置
模擬2點(diǎn)到18點(diǎn)的數(shù)據(jù)修改
2、存放數(shù)據(jù)庫(kù)的硬盤損壞,所有數(shù)據(jù)庫(kù)丟失
3、還原
故障恢復(fù)中可以讓用戶暫停訪問數(shù)據(jù)庫(kù)
vi /etc/my.cnf? #添加一行
systemctl restart mariadb
查看當(dāng)前二進(jìn)制日志的位置
從二進(jìn)制日志中獲取2點(diǎn)到18點(diǎn)數(shù)據(jù)
[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
由于恢復(fù)數(shù)據(jù)庫(kù)會(huì)產(chǎn)生大量的日志,可以臨時(shí)關(guān)閉二進(jìn)制日志
MariaDB?[(none)]>?set?sql_log_bin=off; MariaDB?[(none)]>?source??/backup/fullbak2019-07-11.sql??#導(dǎo)入完全備份 MariaDB?[(none)]>?source??/backup/inc.sql?????#導(dǎo)入增量備份 MariaDB?[(none)]>?set?sql_log_bin=on; 恢復(fù)后檢查數(shù)據(jù)庫(kù),恢復(fù)訪問 MariaDB?[hellodb]>?select?*?from?students;
vi?/etc/my.cnf??#去掉skip-networking
場(chǎng)景二
????凌晨2點(diǎn)做過一次完全備份,白天使用過程中,某同事誤刪除數(shù)據(jù)庫(kù),當(dāng)時(shí)并未發(fā)現(xiàn),直到下班的時(shí)候出故障了
1、數(shù)據(jù)庫(kù)完全備份
mysqldump?-A?-F?--single-transaction?--master-data=2?>?/backup/fullbak`date?+%F`.sql
less /backup/fullbak2019-07-11.sql? ???? #--master-data選項(xiàng)在備份時(shí)自動(dòng)記錄bin-log的位置
2、表被刪除,但是沒有發(fā)現(xiàn),繼續(xù)使用,在18點(diǎn)發(fā)現(xiàn)問題
3、還原
故障恢復(fù)中可以讓用戶暫停訪問數(shù)據(jù)庫(kù)
vi /etc/my.cnf? #添加一行
systemctl restart mariadb
查看當(dāng)前日志的位置
根據(jù)備份文件中記錄的日志位置,從二進(jìn)制日志獲取增量
[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???#從二進(jìn)制日志中找出刪表語句并刪除,剩下的日志就是使用的日志
[root@swh?~]#rm?-rf?/var/lib/mysql/*????#可以選擇刪除所有數(shù)據(jù)庫(kù)恢復(fù),或者直接恢復(fù)增量備份 [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;
檢查數(shù)據(jù)
vi?/etc/my.cnf??#去掉skip-networking
雖然可以恢復(fù)但是花費(fèi)的時(shí)間成本或許是相當(dāng)大的,生產(chǎn)環(huán)境還需慎重
分享名稱:兩個(gè)場(chǎng)景下Mysqldump數(shù)據(jù)庫(kù)備份恢復(fù)
轉(zhuǎn)載注明:http://www.chinadenli.net/article42/jigehc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)站營(yíng)銷、定制開發(fā)、Google、云服務(wù)器
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
移動(dòng)網(wǎng)站建設(shè)知識(shí)