- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網(wǎng)數(shù)碼
錯誤日志
錯誤日志不用多說,記錄了MySQL運行過程中的錯誤信息,當出現(xiàn)問題時,我們可以通過錯誤日志查找線索。
慢查詢日志
可以通過參數(shù)long_query_time來設置時間,當sql語句執(zhí)行超過指定的時間,就會被記錄下來,用來進行sql調優(yōu)。
還有一個參數(shù)log_queries_not_using_indexs,如果運行的sql語句沒有使用索引,就會記錄下來。但是不能一直這樣記錄,會導致文件過大,索引可以通過log_throttle_queries_not_using_indexes來表示每分鐘允許記錄到slow log的未使用索引的SQL語句的次數(shù)。默認為0,表示沒有限制。如果日志記錄到文件中,可以使用mysqldumpslow命令來進行篩選。
慢查詢日志可以輸出到文件中,也可以輸出到表中??梢酝ㄟ^log_output參數(shù)指定慢查詢日志輸出到哪里。
在慢查詢日志中都記錄了什么信息,可以通過slow_query_type進行控制。
0表示不將SQL語句記錄到slow log。
1 表示根據(jù)運行時間將SQL語句記錄到slow log。
2 表示根據(jù)邏輯IO次數(shù)將SQL語句記錄到slow log。
3 表示根據(jù)運行時間和邏輯IO次數(shù)將SQL語句記錄到slow log。
binlog日志
記錄了對數(shù)據(jù)庫除了查詢的所有操作??梢杂脕頂?shù)據(jù)恢復、主從復制和判斷數(shù)據(jù)庫是否被攻擊審計。
sync_binlog參數(shù)
binlog日志并不是每次寫的時候都同步到磁盤。因此當數(shù)據(jù)庫發(fā)生宕機的時候,可能會有一部分數(shù)據(jù)沒有日志中。會跟復制和恢復帶來問題。sync_binlog表示每寫緩沖多少次就同步到磁盤。如果設置位1 即表示每寫一次緩沖就把數(shù)據(jù)同步到磁盤。但是仍然存在問題,如果事務剛剛把數(shù)據(jù)寫入日志,但是還沒有執(zhí)行的情況下宕機。數(shù)據(jù)庫重啟后會進行回滾,但是寫入binlog的日志不能回滾??梢酝ㄟ^innodb_support_xa=1來解決這個問題。
binlog_format參數(shù)
該參數(shù)可以設置的值有STATEMENT、ROW、MIXED。
1、 STATEMENT格式的日志,只記錄sql語句
2、 ROW格式的日志,不是記錄SQL語句,而是記錄記錄表的行更改情況。
3、 MIXED格式的日志,根據(jù)情況決定使用STATEMENT還是ROW格式記錄日志。
MySQL數(shù)據(jù)庫的事務格式離別為REPEATABLE READ,跟binlog_format是有關系的,如果設置為READ COMMITED的事務隔離級別,會出現(xiàn)類似丟失更新的現(xiàn)象,從而出現(xiàn)主動數(shù)據(jù)不一致。如果binlog_format采用的是ROW格式的記錄,就可以將事務隔離級別調整為READ COMMITED來提高性能。
查詢日志
記錄所有的對數(shù)據(jù)庫的請求,一般不開啟。
重做日志
該日志文件屬于Innodb存儲引擎,記錄了Innodb存儲引擎的食物日志,直觀重要。當執(zhí)行事務失敗時,該日志就能派上用場。
每個Innodb存儲引擎至少有兩個日志文件組,每個文件組下面至少有兩個重做日志。
參數(shù)
Innodb_log-file_size 表示每個重做日志的大小。
Innodb_log_files_in_group 表示每個日志文件組有幾個日志,最少有兩個,默認為2個。
Innodb_mirrored_log_groups 鏡像,為了高可用設計。如果進行了磁盤陣列,可以不設置。
Innodb_log_group_home_dir 日志文件存放的位置,默認為”./”。
Innodb_flush_log_at_trx_commit 當值為0時,代表當提交事務時,并不將事務的重做日志寫入磁盤上的日志文件,而是等待主線程每秒的刷新。
當值為1時,表示執(zhí)行commit時將重做日志緩沖同步寫到磁盤,即伴有fsync的調用。當事務提交時,必須保證事務已經(jīng)寫入重做日志文件。當數(shù)據(jù)庫宕機時,可以通過重做日志文件恢復,并保證可以恢復已經(jīng)提交的事務。
當值為2時,表示將重做日志異步寫到磁盤。即寫到文件系統(tǒng)的緩存中。因此不能完全保證執(zhí)行commit時肯定會寫入重做日志文件,知識有這個動作。當數(shù)據(jù)庫宕機而服務器并沒有宕機的情況下,因為此時未寫入磁盤的事務保存在文件系統(tǒng)緩存中,當恢復時同樣保證數(shù)據(jù)不丟失。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP