深入淺出MySQL開發最佳化和管理維護學習筆記之MySQL記錄檔

來源:互聯網
上載者:User

標籤:mysql

一、設定檔分類與參數


  1. 錯誤記錄檔


資料庫啟停過程中錯誤,運行過程中的異常。

儲存方式: 檔案

啟用方式:無需使用切換參數啟用,預設開啟

相關參數

檔案位置參數log_error,如果不指定值預設在DATADIR目錄下,名稱為host_name.error。



2.二進位(bin)日誌


所有DDL和DML但不包含查詢語句。

儲存方式: 檔案

啟用方式:需要設定檔中設定切換參數啟用,預設關閉(OFF)

檔案位置參數log_bin,如果不指定名稱,名稱為host_name-bin.NUM;如果只指定名稱,以指定名稱。均預設放到DATADIR目錄下。

相關參數

binlog_format=STATEMENT/ROW/MIXED,日誌格式控制,預設自動開啟。

expire_logs_days=N,日誌儲存周期,預設為0,無限制。

也可使用命令刪除SQL命令列RESET MASTER 或 PERGE MASTER LOGS

讀取命令

mysqlbinlog


使用情境:高可用主從複製、資料庫恢複時使用


3.查詢日誌


全部SQL語句包含select。

儲存方式: 檔案 或 表(general_log)

要永久生效,需要設定檔中設定切換參數啟用,預設關閉(OFF)

檔案位置參數general_log,參數已經顯示設定設定為 1 或不設定均表示啟用,設定為0 表示禁用。

相關參數

general_log_file,如果未指定值,或者未顯示設定log_output的值,預設放到DATADIR目錄下hostname.log


4.慢查詢日誌


全部超過參數long_query_time且掃描記錄數不小於long_query_time的SQL語句,管理語句和不適用索引的select不記錄。

儲存方式: 檔案 ,記錄檔中可以精確到微妙 或 表(slow_log),表中記錄只能精確到秒。

啟用方式:要永久生效,需要設定檔中設定切換參數啟用,預設關閉(OFF)

檔案位置參數slow_query_log,參數已經顯示設定,值設定為 1 或不設定均表示啟用,設定為0 表示禁用。

相關參數

slow_query_log_file ,如果未指定值,預設hostname-slow.log放到DATADIR目錄下

log_output = file,table,可以指定其一或全部選擇;

相關工具

msqldumpslow 對慢日誌進行分類,建議正常情況下開啟設定,並經常查看。


使用情境:SQL最佳化,伺服器效能診斷。


5.第三方日誌工具

慢查詢日誌、查詢日誌、二進位日誌、使用者自訂類型日誌查看工具

mysqlsla



二、設定檔舉例


[[email protected] mysql]# pwd

/opt/mysql

[[email protected] mysql]# vi my.cnf 


# Start of my.cnf file

# For advice on how to change settings please see

# http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html


[mysqld]


# Remove leading # and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size = 128M


# Remove leading # to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin


####### log setting ########

### bin log ###

log-bin

binlog_format = STATEMENT

expire_logs_days = 7


### slow log ###

slow_query_log = 1

log_output = file


# These are commonly set, remove the # and set as required.

# basedir = .....

# datadir = .....

# port = .....

# server_id = .....

# socket = .....


# Remove leading # to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size = 128M

# sort_buffer_size = 2M

# read_rnd_buffer_size = 2M


sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES


# End of my.cnf file


三、驗證配置


1.二進位日誌


mysql> show variables like "log_bin";

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| log_bin       | ON    |

+---------------+-------+

1 row in set (0.00 sec)


mysql> show variables like "binlog_format%";

+---------------+-----------+

| Variable_name | Value     |

+---------------+-----------+

| binlog_format | STATEMENT |

+---------------+-----------+

1 row in set (0.00 sec)


mysql> show variables like "expire_logs_days";

+------------------+-------+

| Variable_name    | Value |

+------------------+-------+

| expire_logs_days | 7     |

+------------------+-------+

1 row in set (0.00 sec)


2.慢查詢日誌


mysql> show variables like "slow_query_log%";

+---------------------+--------------------------------+

| Variable_name       | Value                          |

+---------------------+--------------------------------+

| slow_query_log      | ON                             |

| slow_query_log_file | /opt/mysql/data/mdb01-slow.log |

+---------------------+--------------------------------+

2 rows in set (0.00 sec)


mysql> show variables like "log_output%";

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| log_output    | FILE  |

+---------------+-------+

1 row in set (0.01 sec)


mysql> 

本文出自 “yiyi” 部落格,請務必保留此出處http://heyiyi.blog.51cto.com/205455/1638585

深入淺出MySQL開發最佳化和管理維護學習筆記之MySQL記錄檔

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.