一、錯誤日誌
當資料庫出現任何故障導致無法使用時, 第一時間先去查看該日誌
1、伺服器啟動關閉過程中的資訊
2、伺服器運行過程中的錯誤資訊
日誌存放路徑, 可以通過命令查看:
日誌檔命名格式:host_name.err
二、二進位日誌
又稱BINLOG, 記錄所有的DDL語句和DML語句, 不包括查詢語句。 這個日誌不僅非常重要, 而且作為開發人員也非常喜歡這個日誌。 從它的定義可以看出, 這個日誌記錄了所有會改變表結構和表資料的事件, 所以一旦資料被誤刪除或者因為其他原因導致資料丟失, 我們可以通過這個日誌將資料恢復。
日誌存放路徑:與錯誤日誌在同一個目錄下
命名方式:預設方式為hostname-bin + 編號
mysql每次啟動或者flush日誌時都會生成一個新的binlog, 編號從1開始遞增。 單個日誌達到一定大小時, 也會生成新的檔。
1、開啟記錄binlog的開關
在myslq的安裝目錄下, 有一個設定檔:my.ini
其中log-bin表示開關開啟, mysql-bin是日誌名稱的首碼。
2、BINLOG的查看方式
由於是二進位檔案, 所以不能像錯誤日誌那樣直接查看, 需要借助mysql提供的工具:mysqlbinlog
3、按時間查看BINLOG
按時間查詢有一個需要注意的地方就是, start-datetime是閉區間, stop-datetime是開區間, 所以如果需要查詢全天日誌話, 需要定義為:--start-datetime="2017/07/12 00:00:00" --stop-datetime="2017/07/13 00:00:00":這樣查詢的時間範圍是7/12 00:00:00 - 7/12 24:59:59
三、資料備份
資料備份其實就是利用msyql提供的工具mysqldump將資料備份到指定目錄下的指定檔中。
1、備份指定的資料庫或者資料庫中的某些表
mysqldump 【option】 db_name 【table_names】
2、備份指定的一個或者多個資料庫
mysqldump 【option】 --database db_name1 db_name2
3、備份所有資料庫
mysqldump 【option】 -all -databases
將埠為3306的資料庫實例中的資料庫wd_msg中的表結構以及表資料匯出到cd.sql的文件中
cd.sql檔中內容如下;
這個檔記錄的是DML語句以及DDL語句, 查詢相關的操作除外。 在資料恢復時就可以通過這些語句一條條執行, 從而完成資料的還原。
四、資料恢復
我們將表刪除, 在重新導入剛剛匯出的資料:
下面的場景是還原同一台伺服器上另一個埠為3307的mysql實例中的wd_msg資料庫
Mysql的備份還原針對不同的場景有不同的選擇, 這裡只是介紹的其中一種概念, 後面會有文章展開來詳細介紹。