Linux下mysql的歷史操作記錄

花花蘑菇發表於2017-01-13

linux下,mysql的每一步操作是會預設被記錄到當前作業系統使用者下的.mysql_history檔案中去的。這個檔案不會記錄操作的時間,只記錄操作命令,包括使用者建立,授權,密碼更改等,均是明文記錄。一般情況下,出於安全考慮,會將這個檔案清空,避免資訊洩露。

實驗步驟:

1、 進入mysql服務,隨便輸入幾行命令:

因為我是在root使用者下命令列登入mysql的,所以去root的使用者目錄下檢視歷史操作記錄的檔案.mysql_history。這個.mysql_history是一個隱藏檔案。


可以看到所有的操作命令被明文記錄。另外,.mysql_history檔案是不會記錄還沒有斷開連線的mysql命令列介面使用者的操作。只有你敲下exit後,.mysql_history檔案才會記錄下你之前執行的所有命令。

2、 客戶端連線到mysql服務,同樣,隨便敲幾行命令:


lxmtestmongdb這臺機器上是沒有mysql服務的,但是剛才所有的操作已經被記錄到本機的/root/.mysql_history下了:


3、  linux使用者的家目錄下修改MYSQL_HISTFILE這個linux環境變數:

[root@CentOStest1 ~]# export MYSQL_HISTFILE=/home/mysql/.mydb_history

然後重複1中的操作,可以觀察到所有的操作歷史記錄被記錄到了新的檔案/home/mysql/.mydb_history下:


結合上面的實驗內容,就可以清楚這個歷史操作記錄檔案的記錄方式。一般情況下,會將該檔案做一個軟連結連結到/dev/null去,直接把內容清空。注意直接刪除這個檔案是沒有什麼用的,因為下次如果有新的mysql連線進來,該檔案會自動再次生成的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28497416/viewspace-2132405/,如需轉載,請註明出處,否則將追究法律責任。

相關文章