當前位置:首頁 » 操作系統 » linuxmysql日誌在哪

linuxmysql日誌在哪

發布時間: 2023-01-19 15:35:23

linux系統上記錄MYsql操作的審計日誌

    根據筆者上一篇文章—Linux系統上記錄用戶操作的審計日誌 。本文來利用相同的方法記錄MYSQL操作的審計日誌。

    使用用mysql工具連接MySQL server的所有操作會默認記錄到~/.mysql_history文件中,這個文件會把所有操作記錄下來,包括創建用戶和修改用戶的明文密碼,這在生產系統上是不安全的。如果不想保存,僅僅刪除是不行的(文件不存在會再建立),要直接將其軟連接到垃圾箱。

     ln  -s  /dev/null  ~/.mysql_history

    利用上一篇文章相同的方法記錄MYSQL操作的審計日誌,是因為mysql工具本身就是有一個shell, 每次mysql連接退出後,都會把此次操作的信息記錄到~/.mysql_history文件中。那麼可以重新定義MYSQL_HISTFILE環境變數來保存mysql日誌。

    先看置於/etc/profile.d目錄下的環境變數的腳本mysql_history.sh,和loginlog類似。

      在測試時,發現平時使用的普通用戶在操作mysql後無法記錄,而root用戶(平時沒有操作過mysql)可以記錄成功。後來在在~/.mysql_history文件找到了操作記錄,估計是這個文件還存在的原因,刪除後才記錄到新的MYSQL_HISTFILE定義的路徑。

      和loginlog一樣,需要定期刪除過期日誌,以下腳本置於/etc/cron.weekly 目錄下。

        delete_time=15

        find /opt/mysqllog/  -mtime +$delete_time -name '*.log' -exec rm -r {} \;

      但是相比於loginlog,mysqllog有兩點暫時沒有解決。

    1、定義最大的記錄條數history.maxSize不知在哪定義,my.cnf?

    2、每一條命令的時間記錄添加。

② 如何查看mysql運行,訪問記錄等日誌

mysql有以下幾種日誌:

錯誤日誌: -log-err

查詢日誌: -log

慢查詢日誌: -log-slow-queries

更新日誌: -log-update

二進制日誌: -log-bin



是否啟用了日誌

mysql>showvariableslike'log_%';


怎樣知道當前的日誌

mysql>showmasterstatus;


顯示二進制日誌數目

mysql>showmasterlogs;


看二進制日誌文件用mysqlbinlog

shell>mysqlbinlogmail-bin.000001


或者

shell>mysqlbinlogmail-bin.000001|tail


在配置文件中指定log的輸出位置.

Windows:Windows 的配置文件為 my.ini,一般在MySQL的安裝目錄下或者 c:Windows 下。

Linux:Linux 的配置文件為 my.cnf ,一般在 /etc 下。


windows下

#在[mysqld]中輸入
#log
log-error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"
log="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"
long_query_time=2
log-slow-queries="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"

Linux下

#在[mysqld]中輸入
#log
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/mysql.log
long_query_time=2
log-slow-queries=/usr/local/mysql/log/slowquery.log

③ linux版mysql安裝後mysql的日誌文件找不到

這個要看安裝mysql的配置,默認安裝及日誌文件如下:

mysql安裝

yum -y install mysql mysql-server mysql-devel

chkconfig --level 35 mysqld on

/etc/init.d/mysqld start


④ linux中的MySQL開啟二進制日誌

二進制日誌開啟方法:

查看系統變數log_bin,如果其值為OFF,表示沒有開啟二進制日誌(binary log),如果需要開啟二進制日誌

修改my.cnf,在[mysqld]下面增加

  • log-bin=/data/mysqldb/log/mysql-bin.log

  • binlog_format = ROW

  • expire_logs_days=15

  • server_id = 2

修改完之後重啟MySQL,然後再查看show variables like 'log_bin%'; 這個時候你會發現log_bin的value值變成了ON

⑤ linux怎麼查詢mysql操作日誌

mysql -u root -p //以root賬戶登陸之後 use mysql; select User from user;

⑥ linux怎麼查看mysql的binlog日誌存放的位置

這個你可以看配置文件 啟用了才有這樣的記錄默認是沒有的

/etc/my.conf

log-bin = mysqlbin

一般放在/var/lib/mysql

比如上面的設置重啟資料庫會生成mysqlbin.000001文件

熱點內容
安卓在哪裡找游戲 發布:2025-07-04 22:15:25 瀏覽:242
路由器訪問光貓 發布:2025-07-04 22:07:47 瀏覽:897
資料庫顯示語句 發布:2025-07-04 22:04:30 瀏覽:740
編程課道具 發布:2025-07-04 22:04:02 瀏覽:844
華為手機不是安卓什麼時候可以更新米加小鎮 發布:2025-07-04 22:01:37 瀏覽:785
飢荒伺服器搭建視頻 發布:2025-07-04 21:48:38 瀏覽:523
github上傳文件夾 發布:2025-07-04 21:29:22 瀏覽:1003
php課程學習中心 發布:2025-07-04 21:29:16 瀏覽:298
win7加密文件夾如何解密 發布:2025-07-04 21:25:24 瀏覽:555
為啥系統緩存的垃圾多呢 發布:2025-07-04 21:15:45 瀏覽:952