當前位置:
首頁 > 知識 > MYSQL的日誌與備份還原

MYSQL的日誌與備份還原

一、錯誤日誌

當資料庫出現任何故障導致無法使用時,第一時間先去查看該日誌

1、伺服器啟動關閉過程中的信息

2、伺服器運行過程中的錯誤信息

日誌存放路徑,可以通過命令查看:

MYSQL的日誌與備份還原

日誌文件命名格式:host_name.err

二、二進位日誌

又稱BINLOG,記錄所有的DDL語句和DML語句,不包括查詢語句。這個日誌不僅非常重要,而且作為開發人員也非常喜歡這個日誌。從它的定義可以看出,這個日誌記錄了所有會改變表結構和表數據的事件,所以一旦數據被誤刪除或者因為其他原因導致數據丟失,我們可以通過這個日誌將數據恢復。是不是覺得很炫酷。

日誌存放路徑:與錯誤日誌在同一個目錄下

命名方式:默認方式為hostname-bin + 編號

mysql每次啟動或者flush日誌時都會生成一個新的binlog,編號從1開始遞增。單個日誌達到一定大小時,也會生成新的文件。

1、開啟記錄binlog的開關

在myslq的安裝目錄下,有一個配置文件:my.ini

MYSQL的日誌與備份還原

innodb_buffer_pool_size=107M

# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=54M

# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=10

log-bin=mysql-bin

其中log-bin表示開關開啟,mysql-bin是日誌名稱的前綴。

MYSQL的日誌與備份還原

2、BINLOG的查看方式

由於是二進位文件,所以不能像錯誤日誌那樣直接查看,需要藉助mysql提供的工具:mysqlbinlog

MYSQL的日誌與備份還原

3、按時間查看BINLOG

MYSQL的日誌與備份還原

按時間查詢有一個需要注意的地方就是,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文件中內容如下;

MYSQL的日誌與備份還原

這個文件記錄的是DML語句以及DDL語句,查詢相關的操作除外。在數據恢復時就可以通過這些語句一條條執行,從而完成數據的還原。

四、數據恢復

我們將表刪除,在重新導入剛剛導出的數據:

下面的場景是還原同一台伺服器上另一個埠為3307的mysql實例中的wd_msg資料庫

Mysql的備份還原針對不同的場景有不同的選擇,這裡只是介紹的其中一種概念,後面會有文章展開來詳細介紹。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 達人科技 的精彩文章:

Python如何實現單步調試
Carbondata源碼系列(一)文件生成過程
直截了當的告訴你什麼是工廠模式

TAG:達人科技 |

您可能感興趣

MYSQL BINLOG 二進位日誌
MySQL集群架構:MHA+MySQL-PROXY+LVS實現MySQL集群架構高可用等
MYSQL M-S主從架構
MySQL操作之DCL
NoSQL和MySQL的區別
Oracle MySQL雲服務入門系列4:MySQL自動備份和恢復
MySQL 中的重做日誌,回滾日誌 ,以及二進位日誌的簡單總結
從MySQL到POLARDB, 三位CTO講述遷移背後的故事!
如何備份MySQL資料庫
MySQL與比特幣
淺談MySQL分散式中間件MYCAT
MySQL 的編程
MySQL-配置節
MySQLDDL之數據類型
MySQL NOT IN用LEFT JOIN優化
LVS+MYCAT讀寫分離+MYSQL同步部署+故障自動轉移
MySQL運維實戰之PHP訪問MySQL,你使用對了嗎?
MySQL 中的兩種臨時表
MYSQL 入門全套
MySQL簡介與啟動MySql