首頁  >  文章  >  資料庫  >  MySQL中的六種日誌類型的介紹

MySQL中的六種日誌類型的介紹

零下一度
零下一度原創
2017-05-12 11:03:383420瀏覽

    MySQL主要有以下幾種日誌類型:

錯誤日誌――MySQL服務啟動和關閉過程中的資訊以及其它錯誤和警告訊息。預設在數據目錄下。

一般查詢日誌――用於記錄select查詢語句的日誌。 general_log、general_log_file 預設為關閉,建議關閉。

慢查詢日誌――log-slow-queries記錄所有超過long_query_time時間的SQL語句,

二進位日誌――記錄任何引起資料變化的操作,用於備份和還原。預設存放在資料目錄中,在刷新和服務重新啟動時會滾動二進位日誌。

中繼日誌――從主伺服器的二進位檔案複製的事件,並儲存為二進位文件,格式和二進位日誌一樣。

事務日誌――保證事務的一致性。

    慢查詢日誌:

mysql> show variables like "long%";                    #查看慢查询日志信息
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 3.000000 |
+-----------------+----------+
1 row in set (0.13 sec)
mysql> show variables like "slow%";                    #查看慢查询日志设置
+---------------------+-----------------------------+
| Variable_name       | Value                       |
+---------------------+-----------------------------+
| slow_launch_time    | 2                           |
| slow_query_log      | OFF                         |
| slow_query_log_file | /data/mysql/slave2-slow.log |
+---------------------+-----------------------------+
3 rows in set (0.06 sec)
mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log #查看访问最多的10个SQL
mysql> set long_query_time=5;                           #慢查询时间设置,永久改变需要更改
Query OK, 0 rows affected (0.25 sec)                    配置文件
    二进制日志:
mysql> show global variables like "%log%";              #查看日志相关变量
mysql> show variables like "%log_bin%";                 #查看二进制变量
+---------------------------------+-------+
| Variable_name                   | Value |
+---------------------------------+-------+
| log_bin                         | OFF   |
| log_bin_basename                |       |
| log_bin_index                   |       |
| log_bin_trust_function_creators | OFF   |
| log_bin_use_v1_row_events       | OFF   |
| sql_log_bin                     | ON    |
+---------------------------------+-------+
[root@slave02 mysql]# vim /etc/my.cnf
log_bin                                                #去掉注释,开启二进制日志
[root@slave02 mysql]# service mysqld restart
mysql> show binary logs;                               #查看所有二进制日志文件
+-------------------+-----------+
| Log_name          | File_size |
+-------------------+-----------+
| slave2-bin.000001 |       168 |
| slave2-bin.000002 |       120 |
+-------------------+-----------+
mysql> show master status;                             #查看当前使用的二进制日志
+-------------------+----------+--------------+------------------+-------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------------+----------+--------------+------------------+-------------------+
| slave2-bin.000002 |      120 |              |                  |                   |
+-------------------+----------+--------------+------------------+-------------------+
1 row in set (0.03 sec)
mysql> flush logs;                                     #刷新二进制日志
Query OK, 0 rows affected (0.17 sec)
[root@slave02 mysql]# mysqlbinlog mysql-bin.00001;     #显示二进制文件内容
mysql> show global status like '%Slow_queries%';       #查看慢查询日志数目

【相關推薦】

1. 免費mysql線上影片教學

#2. MySQL最新手冊教學

3. 資料庫設計那些事

#

以上是MySQL中的六種日誌類型的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn