日誌類型:
一、錯誤日誌
1.記錄服務器啓動和關閉過程中的信息
2.服務器運行過程中的錯誤信息
3.事件調度器運行一個事件時產生的信息
4.在從服務器上啓動從服務器過稱時產生的信息
查看錯誤日誌的存放路徑:
show variables like '%err%';
查看警告信息
show variables like 'log%';
如果log_warnings = 1 ,說明警告信息也寫到了錯誤日誌中,爲0,說明沒有寫到錯誤日誌中
my.ini配置信息:
#log_error = XX/mysql_log_err.txt
二、一般查詢日誌
general_log = on:啓用
general_log_file = 指定查詢日誌的路徑
三、慢查詢日誌
如果slow_query_log的值爲ON,則開啓了慢查詢日誌,否則沒有開啓
四、二進制日誌:任何引起或可能引起數據變化的操作都會存儲
功能:1.做即時點恢復(基於時間點額恢復)
2.複製(將主服務器發生的任何改變複製到從服務器上保證數據一致)
1、啓用二進制日誌功能:
linux下,找到mysql的配置文件,一般是/etc/my.cnf 添加下面兩行
log-bin=mysql-bin
binlog_format=mixed
2、查看是否開啓二進制日誌:
show variables like '%bin%';
如果log_bin的值爲ON,則開啓了二進制日誌,否則沒有開啓
3、查看有哪些二進制日誌:
show binary logs;
4、查看正在使用的二進制日誌文件:
show master status;
5、查看二進制日誌文件記錄的信息:
show binlog events in 'mysql-bin.00001';
6、二進制日誌三種格式:
1.基於語句的statement,記錄是SQL語句
2.基於行的row,記錄的是SQL語句執行的結果
3.混合的mixed
7、查看二進制日誌問價內容的命令:mysqlbinlog
#mysqlbinlog
--start-position 起始位置
--stop-position 結束位置
--start-datetim 起始時間
--stop-datetim 結束時間
例:# mysqlbinlog --start-position=107 mysql-bin.00002
例:# mysqlbinlog --start-position=107 --stop-position=300 mysql-bin.00002
例:# mysqlbinlog --start-datetime=‘2014-12-10 21:00:00’ --stop-datetime=‘2014-12-10 21:10:00’ mysql-bin.00002
8、每次重啓服務器,日誌都會滾動
flush logs 實現日誌滾動,只有二進制日誌,其他日誌不會滾動
purge binary logs to 'mysql-bin.00002' 刪除二進制日誌文件
五、中繼日誌
從主服務器複製而來的事件,並保存爲的日誌文件
relay-log = 指定中繼日誌的位置好名字
relay-log-index = 指定中繼日誌名稱的索引文件的位置和名字
六、事務日誌
事務性存儲引擎用於保證原子性、一致性、隔離性和持久性
innodb_flush_log_at_trx_commit:
0 每秒同步、並執行磁盤flush操作
1 每事務同步,並執行磁盤flush操作
2 每事務同步,但不執行磁盤flush操作