mysql 開啓日誌記錄而且解決日誌時間錯誤問題

注:(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;
相關文章
相關標籤/搜索