1.redo 重做日志
作用:確保日志的持久性,防止在發生故障,臟頁未寫入磁盤。重啟數據庫會進行redo log執行重做,達到事務一致性
2.undo 回滾日志
作用:保證數據的原子性,記錄事務發生之前的一個版本,用於回滾,innodb事務可重復讀和讀取已提交 隔離級別就是通過mvcc+undo實現
3.errlog 錯誤日志
作用:Mysql本身啟動,停止,運行期間發生的錯誤信息
4.slow query log 慢查詢日志
作用:記錄執行時間過長的sql,時間閾值可以配置,只記錄執行成功
5.bin log 二進制日志
作用:用於主從復制,實現主從同步
6.relay log 中繼日志
作用:用於數據庫主從同步,將主庫發來的bin log保存在本地,然后從庫進行回放
7.general log 普通日志
作用:記錄數據庫的操作明細,默認關閉,開啟后會降低數據庫性能
主從讀寫機制原理:
1.主庫打開binlog
2.當有增刪改操作時,必須記錄到主庫的binlog
3.主庫通過IO線程把binlog里的內容傳給從庫relay log
4.從庫sql線程負責讀取relay log里的信息並應用到數據庫
