學習mysql日誌功能話一定要

2021-10-10 00:03:54 字數 1612 閱讀 2868

日誌分類

錯誤日誌

慢日誌通用查詢日誌

二進位制日誌binary_log

tips

一定要看我這篇部落格。

診斷、故障排除

還原真相

日誌儲存最好和資料儲存分開來,否則很可能發生「一榮俱榮,一損俱損的狀況」——發生極端意外情況的時候,資料沒了,日誌也沒了(攤手)。

錯誤日誌

慢日誌二進位制日誌

查詢日誌

錯誤日誌,記錄使用者登入和服務啟動出錯相關的資訊,

vim /etc/my.cnf

log-error=/var/log/mysql/mysql.log

需要確認目標使用者具備讀寫mysql.log的許可權。

登入失敗

配置檔案出錯

啟動過程出問題

慢日誌用來記錄消耗時間比較長的sql語句,為資料庫效能提公升提供了線索。

slow_query_log預設情況下是關閉的。

開啟慢日誌

slow_query_log=1
配置引數。eg:sql語句執行時間超過10ms就記錄入慢日誌

long_query_time=0.001
配置慢日誌儲存位置,eg:

slow_query_log_file=/var/log/mysql_slow.log
優點:會記錄所有的sql操作。

缺點:消耗大量的磁碟空間、消耗cpu、記憶體等資源。

使用mysql命令臨時開啟通用查詢日誌

mysql> set global general_log=1;
二進位制日誌檔案使用的二進位制資料儲存的,不能使用tail、head等命令檢視。

為了每乙個應用程式分別跑乙個mysqld程序,每乙個mysqld程序就是乙個例項。

二進位制日誌不能在mysql客戶端中臨時開啟,只能在my.cnf檔案中開啟。

開啟二進位制日誌

log_bin=1
使用主從複製功能的時候,需要配置二進位制日誌,master機器配置如下

server_id=1
檢視二進位制日誌需要使用mysqlbinlog命令,這個命令在mysql的bin目錄下,可以使用-vv引數更好的閱讀二進位制日誌,eg:

需要注意的是create描述的是某次操作,200814 16:07:32描述的是操作的時間點,end_log_pos可以幫助我們定位操作。這些引數在備份恢復和主從複製的實現中都很有用。

檢視當前二進位制檔案和操作位置的命令是:

show master status
使my.cnf配置生效,需要kill原來的守護程序和工作程序,重啟mysql服務。

一定要會的新技術功能

快速交換 quick swap in python,also works in es6 s1 3 s2 4 quick swap s1,s2 s2,s1惰性計算 lazy evaluation 是指僅僅在真正需要執行的時候才計算表示式的值。避免不必要的計算,帶來效能的提公升。對於條件表示式if x ...

話裡話外 做顧問,一定要學會「聽話聽音」

剛看了乙個小故事,講如果有位熟悉的女孩不再喊你名字,而是喜歡喊你 噯 那麼,她一定是愛上了你。詳細請見http www.xici.net b47924 d11513126.htm 西瓷胡同 中國人講話向來以含蓄著稱,於是有很多人經常自我評價,我這個人就是說話太直了。意思就是應該含蓄點,別直通通的。經...

關於MySQL核心,一定要知道的!

近乙個多月,寫了一些mysql核心的文字,稍作總結,希望對大家有幫助。1.innodb,為何併發如此之高?文章介紹了 1 什麼是併發控制 2 併發控制的常見方法 鎖,資料多版本 3 redo,undo,回滾段的實踐 4 innodb如何利用回滾段實現mvcc,實現快照讀。結論是,快照讀 snapsh...