国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql數據庫二進制日志回滾淺析

2024-07-24 12:38:01
字體:
來源:轉載
供稿:網友

在mysql的機制里,除了采用mysqldump來對數據庫進行完整備份外,還有一種方式配合起來更加的強大和靈活,就是二進制日志回滾法.

概念&功能:二進制日志是指,當你進行數據流的操作時,數據庫會記錄除了select以的sql操作,例如update、delete、alter……,記錄的類型包含了完整的sql語句、操作時間、執行時間、錯誤代碼等。

有了二進制日志,就可以將數據回滾到任意時刻,比如數據庫崩潰的前夕,或者其他災難的前一時刻,幾乎可以做到數據0丟失,能夠體驗到時光倒流,如同“穿越”的感覺。

使用方法:要想使用二進制日志,首先確定你的數據庫版本支持,自mysql5.1開始二進制日志就取代了原來的“更新日志”。

打開配置文件my.cnf進行選項設置,代碼如下:

[mysqld] log-bin=<path> //Vevb.com

這樣當你重啟mysql服務器的時候,就會創建相應的目錄和文件。文件名是以數字序號為擴展名的文件,如果在配置文件中設置了分割大小值,當單個二進制文件達到這個限制時就會自動生成一個新的文件,也可以使用在工具mysqladmin中運行flush-logs命令來手動刷新,以及再次運行mysqldump進行完整備份時加參數–flush-logs或–deletel-masger-logs 來刷新或刪除日志。

這些mysql日志我們可以使用mysqlbinlog二進制日志文件工具處理

服務器生成的二進制日志文件寫成二進制格式。要想檢查這些文本格式的文件,應使用mysqlbinlog實用工具。

應這樣調用mysqlbinlog,代碼如下:

shell> mysqlbinlog [options] log-files...

例如,要想顯示二進制日志binlog.000003的內容,使用下面的命令,代碼如下:

shell> mysqlbinlog binlog.0000003

輸出包括在binlog.000003中包含的所有語句,以及其它信息例如每個語句花費的時間、客戶發出的線程ID、發出線程時的時間戳等等.

查看二進制日志,代碼如下:

mysqlbinlog xxx-bin.000989

配合grep篩選,代碼如下:

mysqlbinlog xxxx-bin.000989 |grep uid=9527

當然也可以通過正則而模糊查看,代碼如下:

mysqlbinlog xxxx-bin.[0-9]*

運行回滾操作:

如果不是進行回滾,不要執行這條 mysqlbinlog xxxx-bin.[0-9]* | mysql

注意事項:如果在my.cnf中指定了默認編碼,將會導致二進制查看時報錯unknown variable ‘default-character-set=utf8′,這是一個bug,個人理解是由于客戶端和配置文件的這一方式二進制根據沒有進行相應的更新支持,預計在以后的版本中就消除這個bug,臨時的解決方法就是注釋掉配置文件中這一句,不用重啟mysql服務,帶使用完這個工具,在將注釋去掉即可.

如果使用了二進制日志,則對性能有一定影響,據官方預計在1%左右,當然,對于它所起到的強大作用而言,1%性能損耗是完全值得的.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 山阴县| 运城市| 林西县| 浦城县| 武城县| 孝义市| 杭州市| 宝坻区| 肥城市| 钟山县| 广元市| 洱源县| 思茅市| 若羌县| 商南县| 中江县| 南召县| 潜江市| 乐清市| 高雄县| 荔波县| 普格县| 台州市| 清原| 丰县| 冕宁县| 雷波县| 巴塘县| 容城县| 日照市| 台前县| 东兰县| 敦化市| 历史| 海南省| 四平市| 中卫市| 赣州市| 扶沟县| 广元市| 赣州市|