1. 程式人生 > 其它 >mysql資料庫之備份和恢復

mysql資料庫之備份和恢復

資料備份的重要性:

在生產環境彙總,資料的安全性至關重要

任何資料的丟失都可能產生要種的後果

造成資料丟失的原因:

程式錯誤

認為操作錯誤

運算錯誤

災難(火災、地震)、盜竊

一、mysql日誌概述

mysql的日誌預設儲存位置為:/usr/local/mysql/data 下面

1、日誌型別與作用

1.1 redo (重做日誌)

達到事務一致性(每次重啟都會重做)

作用:確保日誌的永續性,防止在發生故障,髒頁未寫入磁碟。重啟資料庫會進行 redo log 執行重做,達到事務一致性。

1.2 undo(回滾日誌)

作用:保證資料的原子性,記錄事務發生之前的一個版本,用於回滾,innodb事務可重複和讀取已提交隔離級別就是通過

mvcc+undo實現。

1.3 errorlog(錯誤日誌)

作用:mysql本身啟動,停止,執行期間發生的錯誤資訊

1.4 slow query log(慢查詢日誌)

作用:記錄執行時間過長的sql語句,時間預設值為10s,可以配置,只記錄執行成功,超過設定時間的sql語句,都會被存在到慢查詢日誌中。

還可以提醒優化,對於查詢慢的語句進行操作(比如是網路問題,還是未新增索引等)

1.5 bin log (二進位制日誌)

作用:用於基於日誌形式的資料恢復。用於主從複製,實現主從同步,記錄的內容是:資料庫中執行的sql語句

1.6 relay log(中繼日誌)

作用:用於資料庫主從同步,將主庫發來的

bin log儲存在本地,然後從庫進行回放。

1.7 general log(普通日誌)

記錄資料庫的操作明細,預設關閉,開啟後會降低資料庫的效能

2、日誌配置檔案

日誌檔案開啟關閉日誌的位置
vim /etc/my.cnf

#錯誤日誌
log-error=/usr/local/mysql/data/mysql_error.log    
    
#通用查詢日誌
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
    
#二進位制日誌
log-bin=mysql-bin    
    
#慢查詢日誌
slow_query_log
=ON slow_query_log_file=/usr/local/mysql/data/mysql_slow_query.log long_query_time=5 2、修改完成需要重新mysql服務 systemctl restart mysqld.service