mysql日志類型: 1、查詢日志(通常不會開啟,也不建議開啟) 2、慢查詢日志(建議開啟) 3、錯誤日志(建議開啟) 4、二進制日志(建議開啟) 5、中繼日志 6、事務日志(幫助事務型存儲引擎完成ACID測試) mysql> SHOW GLOBAL VARIABLES LIKE '%log%'; #查看和日志相關的變量 查詢日志: general_log=ON|OFF #是否開啟查詢日志 general_log_file=PATH #查詢日志文件路徑 log_output=FILE|TABLE|NONE #輸出方式,默認為FILE 慢查詢日志:執行時長超出指定時長的查詢操作 mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time'; #查看超時時長 服務器變量: slow_query_log=ON|OFF #是否開啟慢查詢日志 log-slow-queries=PATH #慢查詢日志存儲路徑,默為HOSTNAME-slow.log log_output=FILE|TABLE #輸出方式,默認為FILE mysqldumpslow #慢查詢日志分析工具 錯誤日志: 1、記錄mysql啟動和關閉過程中產生的事件信息 2、記錄mysql運行過程中產生的錯誤信息 3、在主從架構中,從服務器上啟動從服務器線程產生的信息 服務器變量: log_error=OFF|ON|PATH #啟動錯誤日志,如果不指定錯誤日志位置將使用默認位置 log_warnings=0|1 #是否記錄警告信息 二進制日志:記錄導致數據改變或者有可能導致數據發生改變的SQL語句 功能:用于實現通過"重放"日志文件中的事件來生成數據副本 mysql> SHOW MASTER LOGS; #查看可使用的二進制日志文件列表 mysql> SHOW MASTER STATUS; #查看正在使用的二進制日志文件 mysql> SHOW BINLOG EVENTS; #查看二進制日志文件內容 服務器變量: sql_log_bin=OFF|ON #是否開啟二進制日志 log_bin=OFF|ON #是否開啟二進制日志,必須同時啟用才能生效 binlog_format=STATEMENT|ROW|MIXED #二進制日志格式 max_binlog_size= #單個二進制文件最大大小 1、到達最大大小時自動滾動 2、重啟后自動滾動 sync_binlog=0|1 #是否同步寫入,默認為異步寫入 1、同步寫入會影響服務器性能 2、異步寫入可能會造成數據丟失 二進制文件格式: 基于語句的記錄:STATEMENT 優點:在相同體積下記錄的數據更多 缺點:不能保證回放的數據和源數據完全相同 如:mysql> INSERT INTO test VALUE(1,now());#每一次獲取的系統時間都不相同 基于行(數據)的記錄:ROW 優點:能保證回放的數據和源數據基本相同 缺點:在相同體積下記錄的數據更少 混合模式:MIXED,由系統判定基于那種方式進行存儲 二進制文件的構成: 日志文件:mysql-bin.00000X #二進制文件 索引文件:mysql-bin.index #保存當前可用的二進制日志文件列表 二進制日志事件的格式: mysqlbinlog #二進制文件分析工具 使用格式:mysqlbinlog [--start-position=事件開始位置] 二進制日志文件 例:mysqlbinlog mysql-bin.000003 #at 655 #170220 8:33:37 server id 1 end_log_pos 731 Query thread_id=12 exec_time=0 error_code=0 SET TIMESTAMP=1487550817/*!*/; BEGIN /*!*/; 事件的起始位置:at 655 事件發生的時間:170220 8:33:37 server id 1:server id,在做mysql集群時必須保證server id全局唯一 事件的結束位置:end_log_pos 731 事件的類型:Query 事件發生時所在服務器執行此事件的線程ID:thread_id=12 語句執行和將其寫入二進制日志中的時間差 錯誤代碼:error_code 中繼日志:主從架構中實現主從復制的從服務日志,主要用于保存從二進制日志文件中讀取事件 事務日志: 由事務型存儲自行管理和使用 清理日志: PURGE BINARY LOGS TO 'mysql-bin.010'; #清除指定日志之前的二進制日志 PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26'; #清除指定時間之前的二進制日志
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。