MariaDB日志

MariaDB日志


  • 查詢日志:query log;
  • 慢查詢日志:slow query log 查詢時長超出指定界限。
  • 錯誤日志:error log
  • 二進制日志:binary log;此中存儲要發生改變或潛在發生改變的語句。
  • 中繼日志:reley log
  • 事務日志:transaction log

1、查詢日志

記錄查詢語句,日志存儲位置:一般不開啟。

  • 文件:file
  • 表:table (mysql.general_log),查詢信息直接再導入到數據庫中。

查看與查詢日志相關的信息
SHOW GLOBAL VARIABLES LIKE '%log%';

general_log={ON|OFF} #是否開啟查詢日志
general_log_file=HOSTNAME.log #查詢的日志保存于何處
log_output={FILE|TABLE|NONE} #日志的輸出格式上

2、慢查詢日志

慢查詢:運行時間超出指定時長的查詢;
對于此日志我們應該啟用,而且應該為開機自動啟動,所以就應該寫入配置文件的配置。

查看定義的慢查詢的制定時間

  • HOW GLOBAL VARIABLES LIKE 'long_query_time'
  • SELECT @@GLOBAL long_query_time;

設定

SET GLOBAL long_query_time=

存儲位置:
    文件:FILE
    表:TABLE,mysql.slog_log


slow_query_log={ON|OFF}  #是否啟動慢查詢
slow_query_log_file=   #日志文件路徑                
log_slow_queries={ON|OFF} #是否記錄慢查詢日志
log_output={FILE|TABLE|NONE} #日志的記錄格式

log_slow_filter=admin,filesort,filesort_on_disk,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
表示設置過濾信息
log_slow_rate_limit #指明記錄的速率

log_slow_verbosity #詳細級別

3、錯誤日志

記錄信息:

  • (1) mysqld啟動和關閉過程 輸出的信息;
  • (2) mysqld運行中產生的錯誤信息;
  • (3) event scheduler運行時產生的信息;
  • (4) 主從復制架構中,從服務器復制線程啟動時產生的日志;

      log_error=
      log_warnings={ON|OFF}
    

4、二進制日志

用于記錄引起數據改變或存在引起數據改變的潛在可能性的語句(STATEMENT)或改變后的結果(ROW),也可能是二者混合;
my.cnf的 [mysqld] 字段添加 log_bin 這一行即可

功用:“重放”日志文件中的事件來生成副本。

binlog_format={STATEMENT|ROW|MIXED}

二進制日志記錄格式

    STATEMENT:基于語句記錄;
    ROW:基于行;
    MIXED:混編,讓系統自動判定記錄方式;

二級制日志文件的構成:

日志文件: mysql-bin.文件名后綴;二進制格式
索引文件: mysql-bin.index;文本格式

查看二進制日志文件列表:

SHOW MASTER|BINARY LOGS;

查看當前正在使用的二進制日志文件:

SHOW MASTER STATUS;

查看二進制 日志文件中的事件:

SHOW BINLOG EVENTS     [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count]

SHOW BINLOG EVENTS IN 'mysql-bin.000002'; #就能查看在再次文件內mysql發生的事件。還可以指明顯示的起始位置

服務器變量:

log_bin {ON|OFF}
sql_log_bin {ON|OFF} #這兩個同時為ON就表示啟用二進制日志記錄功能 

log_bin=/PATH/TO/BIN_LOG_FILE #日志文件的記錄位置:此功能必須為ON

max_binlog_size=1073741824 :單個二進制文件的最大體積,默認為這個(1G,不一定會精確)

sync_binlog={1|0} #是否啟動二進制日志同步功能。1的話就是精確記錄

mysqlbinlog:客戶端命令工具

mysqlbinlog [option] logfile  

命令選項:

    -j, 

    --start-datetime=  根據事件發生的時間范圍
    --stop-datetime=
        YYYY-MM-DD hh:mm:ss 指明的時間格式    

    --start-position=#  從哪個事件id開始顯示
    --stop-position=#   到哪個事件id結束

     --user, --host, --password

二進制日志事件格式:

    # at 553
    #160831  9:56:08 server id 1  end_log_pos 624   Query   thread_id=2     exec_time=0     error_code=0
    SET TIMESTAMP=1472608568/*!*/;
    BEGIN
    /*!*/; #結束標志

    事件發生的日期時間:#160831  9:56:08
    事件發生的服務器id:server id 1
    事件的結束位置:end_log_pos 624
    事件的類型:Query
    事件發生時所在服務器執行此事件的線程的ID: thread_id=2 
    語句的時間戳與將其寫入二進制日志文件中的時間差:exec_time=0
    錯誤代碼:error_code=0
    事件內容:SET TIMESTAMP=1472608568/*!*/;

中繼日志:

復制架構中,從服務器上記錄下來從主服務器的二進制日志文件同步過來的事件;

事務日志:

幫助事務型存儲引擎innodb用于保證事務特性的日志文件:用戶無法手動使用。存儲引擎采用。

具有兩個和兩個以上的文件

用于提交事務到數據磁盤中,也可以回滾。

| innodb_log_file_size          | 5242880 事務日志文件大小      
| innodb_log_files_in_group     | 2 事務文件日志個數 
| innodb_log_group_home_dir     | ./  存儲位置

事務日志文件所在位置及名字
/var/lib/mysq/lib_logfile0
/var/lib/mysq/lib_logfile1

事務日志的類別

redo log :重做日志 
undo log :撤銷日志

原創文章,作者:qzx,如若轉載,請注明出處:http://www.www58058.com/60186

(0)
qzxqzx
上一篇 2016-11-20
下一篇 2016-11-20

相關推薦

  • bash功能特性六 bash操作環境

    一、bash查找命令的順序     1、以相對路徑或絕對路徑執行的命令;     2、由alias找到該命令來執行;     3、由bash內置的命令來執行;     4、通過$PATH這個變量的順序找到的第一個命令來執…

    Linux干貨 2015-04-22
  • 企業面試題

    要求: 將一下數據進行排序(字母部分已小到大排序) 101.37.8.249 wz417-419/wz119-125/wz7-16/wz571/wz544/wz1-6101.37.21.19 wz545/wz453-456/wz441-444116.62.4.21 wz106-118/wz514-516/wz581/wz190-199/wz572101.37…

    Linux干貨 2017-06-27
  • shell腳本編程的執行語句

    順序執行     從上到下逐條執行命令,執行完所有命令及退出。 選擇執行     (1)&&,||     &&:代表and,&&左側為真右側則執行     ||:代表or…

    Linux干貨 2016-08-24
  • 推倒一個二十來歲青壯年第一步

    首先:找到他家在哪里,了解他的生長環境 然后:調查他的信息,慢慢了解他,學會和他交流,學會控制他

    Linux干貨 2016-09-21
  • 私有IP網子網掩碼劃分原則及計算方法

    私有IP網子網掩碼劃分原則及計算方法 最好記下的二進制轉換十進制 00000000 0 00000001 1 00000010 2 00000100 4 00001000 8 00010000 16 00100000 32 01000000 64 10000000 128 11000000 192 11100000 224 11110000 240 1111…

    Linux干貨 2017-05-02
  • Shell腳本編程 流程控制—循環

    循環:重復執行所指定的代碼片段,直到循環條件不滿足,則退出循環 一、for循環     語法格式:     for 變量名 in 列表     do         循環體     done &nbs…

    Linux干貨 2016-08-24
欧美性久久久久