溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

結合binlog日志實現對mysqldump備份恢復

發布時間:2020-05-27 14:03:09 來源:網絡 閱讀:250 作者:三月 欄目:數據庫

本篇文章給大家主要講的是關于結合binlog日志實現對mysqldump備份恢復的內容,感興趣的話就一起來看看這篇文章吧,相信看完結合binlog日志實現對mysqldump備份恢復對大家多少有點參考價值吧。

mysqldump備份一般采取全庫備份加日志備份的方式,如每天執行一次全備份,每小時執行一次二進制日志備份。在mysql故障后可以使用全備份和日志備份將數據恢復到最后一個二進制日志備份前的任意位置或時間。

    binlog簡介:

         mysql二進制日志記錄著數據庫的所有增刪改的操作日志,在這前提上必須開啟binlog,里面包括這些操作的執行時間。顯示二進制內容可以使用mysqlbinlog命令查看。

         binlog的作用:1,主從復制    2,恢復數據庫

             開啟binary log功能

             編輯my.cnf中的log-bin選項開啟二進制日志:log-bin[=DIR/[filename]]。DIR參數指定二進制文件的存儲路徑,filename參數指定二進制文件的文件名,形式為filename.number,number的形式為000001,000002等。每次重啟mysql服務或運行mysql > flush logs;都會生成一個新的二進制日志文件,這些二進制文件的number會不斷地遞增。其實還會生成一個名為filename.index的文件,這個文件中存儲所有二進制日志文件的清單又稱為二進制文件的索引。

                   mysql> show variables like 'log_bin':查看bing-log日志是否開啟。

結合binlog日志實現對mysqldump備份恢復

    bin-log因為是二進制文件,不能通過文件內容查看命令直接打開查看,mysql提供兩種方式查看方式。

    show binary logs; 查看mysql server上二進制日志

    查看二進制信息的命令格式:show binlog events [in 'log_name'] [ffrom pos] [limit [offset,] row_count]

    默認顯示可找到的第一個二進制日志文件中的時間,包含了日志文件名,事件的開始位置,時間類型,結束位置,信息等內容。

    show binary logs等價于show master logs

    purge binary logs用于刪除二進制日志。

    purge binary logs before '2016-08-28 22:46:26':把指定時間之前的二進制文件刪除

    peset master與reset slave

        前者清空index文件中列出的所有二進制日志,重置index文件為空,并創建一個新的二進制日志文件,一般用于master首次啟動時。后者使slave忘記其在master二進制日志文件中的復制位置,它會刪除master.info,relay-log.info和所有中繼日志文件并開始一個新的中繼日志文件,以便于開始一個干凈的復制。使用reset slave前需要先關閉slave賦值線程。

        想要查看到文件中劇吐內容并應于恢復場景還得借助mysqlbinlog這個工具格式:mysqlbinlog [options] log_file ...輸出的內容會因日志文件的格式以及mysqlbinlog工具使用的選項不同而略不同。

        二進制日志文件的格式包含行模式,語句模式,混合模式,基于語句的日志中事件信息包含執行的語句等,基于行的日志中事件謝謝包含的是行的變化信息。

        mysqlbinlog和可以通過--read-from-remote-server選項從遠程云服務器讀取二進制日志文件,需要一些而外的連接參數,如-h,-p,-P,-u等,這些側腦室近在指定了--read-from-remote-server后有效。

        無論是本地二進制日志文件還是遠程云服務器上的二進制日志文件,無論是行模式,語句模式還是混合模式的二進制日志文件,被mysqlbinlog工具解析后都可直接應用與mysql server進行基于時間點,位置或數據庫的恢復。    

        mysqldump是mysql用于備份好數據轉移的一個工具,主要產生一系列的sql語句,可以封裝到文件,該文件包含所有重建你的數據庫所需要sql命令如create database,create table,insert等等??梢杂脕韺崿F輕量級的快速遷移或恢復數據庫。

        mysqldump是將數據表導成sql腳本文件,在不同的mysql版本之間升級時相對比較合適,也是最常用的備份方法。mysqldump一般在數據量很少的時候可以用于備份,當數據量比較大的情況下,就不建議用mysqldump工具進行備份。

        數據庫的導出,導出對象說明:mysqldump可以針對單個表,多個表,單個數據庫,多個數據庫,所有數據庫進行導出的操作。

        mysqldump [options] db_name [tbl_name ...] 導出指定數據庫或單個表

        mysqldump [options] --databases db_name...    導出多個數據庫

        mysqldump [optoins] --all-databases    導出所有

        mysqldump -u用戶名 -p --flush-logs test > /opt/test.sql  --flush-logs這個選項就會完整備份的時候重新開啟一個新binlog。

        數據庫的導入

        mysql -u用戶名 -p test / /opt/test.sql   

        全庫備份+binlog的數據恢復

        環境準備與備份還原:

        線程開啟binlog

以上關于結合binlog日志實現對mysqldump備份恢復詳細內容,對大家有幫助嗎?如果想要了解更多相關,可以繼續關注我們的行業資訊板塊。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女