MySQL 不會主動去建立紀錄檔檔案,所以需要手動新增,新增完成後賦予所有使用者可讀可寫許可權,否則會報 premission denied
[root@iZm5e0rpsu8z9upjwrq5xgZ ~]# mkdir -p /usr/local/mysql/mysql-5.7.31/log
[root@iZm5e0rpsu8z9upjwrq5xgZ ~]# touch /usr/local/mysql/mysql-5.7.31/log/general.log
[root@iZm5e0rpsu8z9upjwrq5xgZ ~]# touch /usr/local/mysql/mysql-5.7.31/log/slowqueries.log
[root@iZm5e0rpsu8z9upjwrq5xgZ ~]# cd /usr/local/mysql/mysql-5.7.31/log/
[root@iZm5e0rpsu8z9upjwrq5xgZ log]# ls -a
. .. general.log slowqueries.log
[root@iZm5e0rpsu8z9upjwrq5xgZ log]# ls -la
總用量 8
drwxr-xr-x 2 root root 4096 9月 25 16:26 .
drwxr-xr-x 3 root root 4096 9月 25 16:26 ..
-rw-r--r-- 1 root root 0 9月 25 16:26 general.log
-rw-r--r-- 1 root root 0 9月 25 16:26 slowqueries.log
[root@iZm5e0rpsu8z9upjwrq5xgZ log]# chmod 777 general.log
[root@iZm5e0rpsu8z9upjwrq5xgZ log]# chmod 777 slowqueries.log
[root@iZm5e0rpsu8z9upjwrq5xgZ log]# ls -la
總用量 8
drwxr-xr-x 2 root root 4096 9月 25 16:26 .
drwxr-xr-x 3 root root 4096 9月 25 16:26 ..
-rwxrwxrwx 1 root root 0 9月 25 16:26 general.log
-rwxrwxrwx 1 root root 0 9月 25 16:26 slowqueries.log
[root@iZm5e0rpsu8z9upjwrq5xgZ log]#
在 MySQL 組態檔(/etc/my.cnf)中寫入:
# 開啟通用紀錄檔
general_log=1
# 通用紀錄檔地址
general_log_file=/usr/local/mysql/mysql-5.7.31/log/general.log
# 開啟慢查詢紀錄檔
slow_query_log=1
# 慢查詢紀錄檔地址
slow_query_log_file=/usr/local/mysql/mysql-5.7.31/log/slowqueries.log
# 慢查詢閥值
long_query_time=5
# 輸出方式,FILE表示檔案,TABLE表示資料庫(可以在mysql庫中看到紀錄檔),可以同時使用,方法如上,也可單獨使用比如log_output='FILE',輸出到檔案比輸出到資料庫效率高
log_output='FILE,TABLE'
修改完成後重新啟動 MySQL 服務:
service mysqld restart
使用如下命令開啟 MySQL 紀錄檔檔案,可以實時檢視資料庫的紀錄檔內容
tail -f /usr/local/mysql/mysql-5.7.31/log/general.log