注:(1)mysql版本5.7 ubuntu16.04mysql
(2)爲了簡明的查詢日誌,我在系統默認mysql日誌文件夾中對日誌進行了分類,並把賦予正確的權限sql
root@localhostserver:/var/log/mysql# mkdir bin root@localhostserver:/var/log/mysql# mkdir general root@localhostserver:/var/log/mysql# mkdir slow root@localhostserver:/var/log/mysql# mkdir error root@localhostserver:/var/log/mysql# chown -R mysql:mysql bin/ root@localhostserver:/var/log/mysql# chown -R mysql:mysql error root@localhostserver:/var/log/mysql# chown -R mysql:mysql slow/ root@localhostserver:/var/log/mysql# chown -R mysql:mysql general/ #刪除之前系統本身生成的日誌,可保留 root@localhostserver:/var/log/mysql# rm -R error.log* root@localhostserver:/var/log/mysql# rm -R mysql-bin.* root@localhostserver:/var/log/mysql# rm mysql-general.log
1、開啓二進制日誌ubuntu
查看二進制日誌是否開啓bash
mysql> show variables like 'log_bin';
編輯mysql配置文件服務器
vi /etc/mysql/mysql.conf.d/mysqld.cnf
注意log-bin和log_bin這個坑 spa
server-id = 1
log-bin = /var/log/mysql/bin/mysql-bin.log
#log_bin = /var/log/mysql/mysql-bin.log
3d
重啓rest
service mysql restart
再次查詢二進制日誌狀態日誌
刪除二進制日誌code
mysql> reset master;
查看日誌列表
mysql> show binary logs;
查看某個日誌,輸入名稱和上面的日誌列表要對應上。
mysql> show binlog events in 'mysql-bin.000002'\G;
2、開啓查詢日誌
#查看日誌開啓狀態 mysql> SHOW VARIABLES LIKE 'general%';
#開啓日誌 mysql> SET GLOBAL general_log = 'ON';
本人mysql版本5.7 在查詢日誌的時候發現時間和系統時間不對
#查看系統默認時間參數 mysql> SELECT @@log_timestamps;
#重設 mysql> SET GLOBAL log_timestamps=SYSTEM;
再去查看日誌文件 就ok了
不過 ,這種形式在重啓mysql後失效,那麼就須要在配置文件更改
仍是同樣,編輯配置文件
找到這兩個,去掉註釋便可
general_log_file = /var/log/mysql/general/mysql-general.log
general_log = 1#加上這一行,設置時間
log_timestamps = SYSTEM
從新生成查詢日誌
mysql> flush logs;
3、開啓慢查詢日誌
編輯mysql配置文件
vi /etc/mysql/mysql.conf.d/mysqld.cnf
找到以下,注意第一行的註釋是配置文件原有的,在個人服務器上直接去掉註釋重啓會報錯,改爲下面的格式纔可以重啓成功。
相似於上面開啓bin-log同樣的坑。
#log_slow_queries = /var/log/mysql/mysql-slow.log
slow_query_log=/var/log/mysql/slow/mysql-slow.log
long_query_time = 2 #這個時間單位爲秒,也就是指 執行速度超過2秒的語句會被記錄
log-queries-not-using-indexes
而後重啓就能夠 。
刪除慢查詢日誌
mysql> set global slow_query_log=0;
生成一個新的慢查詢日誌文件:
mysql> set global slow_query_log=1;