mysql数据库 日志类型_MySQL中的日志类型(一)-摘要和日志的共同特征
MySQL中的日志類型(一)-摘要和日志的共同特征
發布時間:2020-07-12 19:56:15
來源:51CTO
閱讀:506
作者:月飲沙
MySQL中的日志類型
MySQL具有多種日志,用來記錄mysqld的活動情況,以下為MySQL中的類型及其簡要說明。
日志類型
說明
General query log
記錄從客戶端獲取到的連接和語句
Slow query log
記錄超過long_query_time時間的查詢
Error log
記錄在mysqld服務啟動、運行或停止時遇到的問題
Binary log
記錄修改數據的語句
Relay log
在復制結構中,從庫從主庫獲取到的數據修改
DDL log(metadata log )
DD語句執行的元數據操作
默認情況下,除了Windows系統上的Error log,其他日志都是不可用的。
下面將按照日志的共同特征、每個日志的特點來討論這些日志的情況
日志的共同特征
日志的啟用
默認情況下,除了Windows系統上的Error log,其他日志都是不可用的,要開啟這些日志,需要在數據庫啟動時指定相應的選項
日志類型
開啟選項
General query log
--general_log
Slow query log
--slow_query_log
Binary log
--log-bin
Error log
--log-error
Relay log
不需要額外開啟
DDL log
不需要額外開啟
general query log和slow query log也可以在數據庫運行時進行啟用或禁用??梢酝ㄟ^設置全局變量general_log和slow_query_log來控制他們的啟用和禁用,例如:
SET GLOBAL general_log = 'OFF';
SET GLOBAL slow_query_log = 'ON';
日志文件名稱及位置
默認情況下,日志都存放在數據庫的數據目錄下??梢酝ㄟ^相應的選項來修改位置和名稱。具體可以參考下表,在下表中,host_name代表數據庫服務器的主機名,nnnnnn代表一個6位的整數序列。file_name和base_name是指定的文件名稱??梢酝ㄟ^在file_name或base_name中使用絕對路徑來修改日志存放的位置。
日志類型
默認名稱
相應選項
General query log
host_name.log
--general_log_file=file_name
Slow query log
host_name-slow.log
--slow_query_log_file=file_name
Binary log
pif-file-bin
--log_bin=base_name
Error log
host_name.err
--log_error=file_name
Relay log
hostname-relay-bin.nnnnnn
--relay-log=file_name
DDL log
ddl_log.log
無法修改
general query log和slow query log除了記錄在日志文件中以外,也可以記錄在日志表中。日志表在mysql庫中。名稱分別為general_log和slow_log??梢酝ㄟ^--log-output來指定將這兩種日志的存放位置,位置可以是表、文件、或者表和文件。
Binary log日志文件的默認名稱是pid-file的值加上-bin后綴。默認pid-file的值是服務器的主機名。但是不建議使用默認值,當使用默認值時,如果服務器的主機名發生變更,Binary log日志文件的名稱也需要進行相應更改。
日志刷新
日志刷新會關閉然后重新打開日志文件。對于binary log和relay log,還會創建一個新的日志文件。
日志刷新發生在以下情況下:
1.使用FLUSH LOGS語句
2.使用帶有flush-logs或者reflush選項的mysqladmin命令
3.使用帶有--flush-logs或者--master-data選項的mysqldump命令
FLUSH LOGS語句會關閉并重新打開所有的日志文件,如果需要只刷新某種日志文件,需要指定日志類型,例如:
FLUSH SLOW LOGS
日志記錄時間
日志類型
記錄時間
generl query log
在服務器接收到客戶端發來的命令時就寫入到日志中。
slow query log
在語句執行完畢,釋放鎖之后寫入到日志中。
binary log
在語句執行完畢,釋放鎖之前寫入到日志中。
總結
以上是生活随笔為你收集整理的mysql数据库 日志类型_MySQL中的日志类型(一)-摘要和日志的共同特征的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle数据库日期加一,日期和Ora
- 下一篇: pd 生成mysql 脚本_PowerD