10.七、mysql日誌:

mysql生成或相關聯的日誌文件種類繁多,這裏重點關注與mysql數據庫服務相關mysql

的幾類日誌文件:sql

一、錯誤日誌:數據庫

記錄mysql服務進程mysql的在啓動/關閉/運行過程當中遇到的錯誤信息;session

[mysqld_safe]日誌

log-error=/data/3306/mysql.errcode

二、查詢日誌:orm

(1)普通查詢日誌:索引

記錄客戶端鏈接信息和執行的sql語句信息;進程

[mysqld]io

#general_log = ON

#將全部到達MySQL Server的SQL語句記錄下來,默認關閉

#general_log_file = /data/3306/data

#general_log,默認在數據庫的data目錄下;

(2)慢查詢日誌:

記錄執行時間超出指定值(log_query_time)的sql語句;

[mysqld]

slow_query_log = ON

long_query_time = 2

slow_query_log_file = /data/3306/mysql-slow.log

#log-queries-not-using-indexes

#若是運行的SQL語句沒有使用索引,mysql會將這條SQL語句記錄到慢查詢日誌文件中。

三、二進制日誌:

記錄數據被修改的相關信息;

[mysqld]

log-bin = /data/3306/mysql-bin

#打開mysql的binlog日誌;

max_binlog_size = 512M

#binlog的最大值是多少;

expire_logs_days = 7

#超過7天的binlog會被刪除;

mysql> show variables like '%log_bin%';

sql_log_bin ON

#通常打開log-bin就打開了sql_log_bin記錄功能,使用set global sql_log_bin=off時

臨時不記錄binlog開關,用於增量恢復時不記錄某個時間點的binlog;

3 rows in set (0.01 sec)

(1)二進制的三種模式:

1)語句級:

statement(默認),包含的是原始的sql語句;

2)行級:

row,包含的是行的更改信息;

3)混合級:

mixed,前兩種模式的結合,mysql根據實際開銷狀況選擇到底選擇哪一種二進制模式;

4)修改binlog模式的方法:

配置文件修改my.cnf:

[mysqld]

binlog_format = mixed #row,statement

在線修改:

set session binlog_format = mixed;

set global binlog_format = mixed;

5)查看binlog日誌的方法:

binlog日誌模式爲row或者時statement時使用‘mysqlbinlog /data/3306/mysql-bin.000007’命令查看;

binlog日誌模式爲mixed時,使用‘mysqlbinlog --base64-output=decode-rows -v /data/3306/mysql-bin.000007’命令查看;

6)查看binlog的pos點:

show master logs; #查看binlog文件和對應的pos點的列表;

show master status; #查看當前binlog文件和對應的pos點;

7)對日誌文件進行切割的手動方法:

mysqladmin -uroot -p123456 flush-log

相關文章
相關標籤/搜索