精品久久看,欧美成人久久一级c片免费,日本加勒比在线精品视频,国产一区二区三区免费大片天美,国产成人精品999在线,97理论三级九七午夜在线观看

當前位置: 首頁編程開發數據庫 → MySql二進制日志的應用

MySql二進制日志的應用

更多

bin-log日志記錄了所有的DDL和DML的語句,但不包括查詢的語句,語句以事件的方式保存,描述了數據的更改過程,此日志對發生災難時數據恢復起到了極為重要的作用。

開啟
mysql默認是沒有開發bin-log日志,首先我們需要開啟bin-log日志,在my.cnf中修改



指定了bin-log日志的路徑,開啟日志后需要myssqladmin flush log才生效,重啟后我們發現在剛才設定的路徑新增了log文件,這就是我們需要的二進制日志



由于日志是以二進制方式存儲的,不能直接讀取,需要使用mysql自帶的mysqlbinlog工具來進行查看
語法如下:

#mysqlbinlog mysql-bin.000002


現在我們嘗試向test1表插入數據



然后使用mysqlbinlog工具進行日志查看

#mysqlbinlog mysql-bin.000002-d test




清理

如果每天都會生成大量的二進制日志,這些日志長時間不清理的話,將會對磁盤空間帶來很大的浪費,所以定期清理日志是DBA維護mysql的一個重要工作

1)RESET MASTER
在上面查看日志存放的文件夾中,二進制日志命名的格式是以mysql-bin.*,*代表日志的序號,序號是遞增的,其中還有mysql-bin.index是日志的索引文件,記錄了日志的最大序號
我們執行RESET MASTER命名刪除全部日志



查看刪除后的日志



可以看到,以前的日志全部被清空,新的日志從00001開始

2)PURGE MASTER LOGS TO&PURGE MASTER LOGS BEFORE
執行PURGE MASTER LOGS TO 'mysql-bin.******'命令,是將'******'編號之前的所有日志進行刪除
執行PURGE MASTER LOGS BEFORE 'yyyy-mm-dd hh:mm:ss'命令,是將在'yyyy-mm-dd hh:mm:ss'時間之前的所有日志進行刪除

3)-EXPIRE_LOGS_DAYS
此參數是設置日志的過期天數,過期的日志將會被自動刪除,這有利于減少我們管理日志的工作量,需要修改my.cnf



這里我們設定保存日志為3天,3天之后過期的日志將被自動刪除

恢復

bin-log是記錄著mysql所有事件的操作,當mysql發生災難性錯誤時,可以通過bin-log做完整恢復,基于時間點的恢復,和基于位置的恢復

完整恢復,假定我們每天凌晨2點都會使用mysqldump備份數據庫,但在第二天早上9點由于數據庫出現了故障,數據無法訪問,需要恢復數據,先使用昨天凌晨備份的文件進行恢復到凌晨2點的狀態,在使用mysqlbinlog恢復自mysqldump備份以來的binlog
mysql localhost mysql-bin.000001 | mysql -uroot -p
這樣數據庫就可以完全的恢復到崩潰前的完全狀態

基于時間點的恢復,由于誤操作,比如說刪除了一張表,這時使用上面講的完全恢復是沒有用的,因為日志里面還存在誤操作的語句,,我們需要的是恢復到誤操作前的狀態,然后跳過誤操作的語句,再恢復后面操作的語句,假定我們刪除了一張表的誤操作發生在10:00這個時間點,我們可以使用下面的語句用備份和binlog將數據恢復到故障前

mysqlbinlog --stop-date='2010-09-04 9:59:59' /var/log/mysql-bin.000001 | mysql -uroot -p


然后跳過誤操作的時間點,繼續執行后面的binlog

mysqlbinlog --start-date='2010-09-04 10:01:00' /var/log/mysql-bin.000001 | mysql -uroot -p


其中--stop-date='2010-09-04 9:59:59' 和 --start-date='2010-09-04 10:01:00' 其中的時間是你誤操作的時間點,當然了,這個時間點你需要你自己計算的,而且這個時間點還可以涉及到的不只是誤操作,還可以有正確的操作也被跳過去了。

基于位置恢復,由于上面提到的,使用基于時間點的恢復可能出現,在一個時間點里面可能存在誤操作和其他正確的操作,所以我們需要一種更為精確的恢復方式
使用mysqlbinlog查看二進制,可看到



其中drop tables test1這個誤操作的end_log_pos為8879917,幾下這個id,得出它前后操作的id分別為8879916,8879918
我們將進行位置恢復操作

mysqlbinlog --stop-position='8879916' /var/log/mysql-bin.000001 | mysql -uroot -p

mysqlbinlog --start-position='8879918' /var/log/mysql-bin.000001 | mysql -uroot -p


第一行是恢復到停止位置位置的所以事務,第二性是恢復從給定的起始位置知道二進制日志結束所有事物。

熱門評論
最新評論
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
主站蜘蛛池模板: 99精品视频在线观看免费播放 | 久久免费视频一区 | 欧美乱妇欲仙欲死视频免费 | 爱瑟瑟精品视频在线播放 | 激情六月天婷婷 | 日韩视频 中文字幕 视频一区 | 国产成人lu在线视频 | 播播激情网 | 2019国产精品视频 | 99re国产精品 | 99久久精品国产一区二区成人 | 国产成人在线视频网站 | 婷婷激情五月小说综合无弹窗 | 日日摸夜夜欧美一区二区 | 短视频网站免费观看 | 国产福利在线看 | 久久久久国产精品免费网站 | 日韩一级高清 | 三级韩国一区久久二区综合 | 免费看毛片网 | 青草视频在线观看国产 | 精品视频一区二区三区免费 | 试看120秒非会员体险区一二 | 久久97久久97精品免视看秋霞 | 毛片亚洲毛片亚洲毛片 | www黄色 | 国产原创中文字幕 | 国产理论视频 | 99九九99九九九视频精品 | 老色皮永久免费网站 | 第七色男人天堂 | 泡泡影视伦理片 | 成人亚洲欧美日韩中文字幕 | 欧美无遮挡一区二区三区 | 善良的嫂子 1080p | 激情开心婷婷 | 第四色奇米 | 国产二区精品视频 | 国产网站在线免费观看 | 国产成人欧美 | 日韩福利视频 |