mysql資料庫之備份和恢復
阿新 • • 發佈:2022-12-02
資料備份的重要性:
在生產環境彙總,資料的安全性至關重要
任何資料的丟失都可能產生要種的後果
造成資料丟失的原因:
程式錯誤
認為操作錯誤
運算錯誤
災難(火災、地震)、盜竊
一、mysql日誌概述
mysql的日誌預設儲存位置為:/usr/local/mysql/data 下面
1、日誌型別與作用
1.1 redo (重做日誌)
達到事務一致性(每次重啟都會重做)
作用:確保日誌的永續性,防止在發生故障,髒頁未寫入磁碟。重啟資料庫會進行 redo log 執行重做,達到事務一致性。
1.2 undo(回滾日誌)
作用:保證資料的原子性,記錄事務發生之前的一個版本,用於回滾,innodb事務可重複和讀取已提交隔離級別就是通過
1.3 errorlog(錯誤日誌)
作用:mysql本身啟動,停止,執行期間發生的錯誤資訊
1.4 slow query log(慢查詢日誌)
作用:記錄執行時間過長的sql語句,時間預設值為10s,可以配置,只記錄執行成功,超過設定時間的sql語句,都會被存在到慢查詢日誌中。
還可以提醒優化,對於查詢慢的語句進行操作(比如是網路問題,還是未新增索引等)
1.5 bin log (二進位制日誌)
作用:用於基於日誌形式的資料恢復。用於主從複製,實現主從同步,記錄的內容是:資料庫中執行的sql語句
1.6 relay 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