中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL主要有哪幾種日志文件

發布時間:2020-05-06 16:09:21 來源:億速云 閱讀:257 作者:三月 欄目:MySQL數據庫

本文主要給大家簡單講講MySQL主要有哪幾種日志文件,相關專業術語大家可以上網查查或者找一些相關書籍補充一下,這里就不涉獵了,我們就直奔主題吧,希望MySQL主要有哪幾種日志文件這篇文章可以給大家帶來一些實際幫助。 

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

  • 錯誤日志——MySQL服務啟動和關閉過程中的信息以及其它錯誤和警告信息。默認在數據目錄下。

  • 一般查詢日志——用于記錄select查詢語句的日志。general_log、general_log_file 默認關閉,建議關閉。

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

  • 二進制日志——記錄任何引起數據變化的操作,用于備份和還原。默認存放在數據目錄中,在刷新和服務重啟時會滾動二進制日志。

  • 中繼日志——從主云服務器的二進制文件中復制的事件,并保存為二進制文件,格式和二進制日志一樣。

  • 事務日志——保證事務的一致性。

MySQL主要有哪幾種日志文件

   1 慢查詢日志:

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)


#慢查詢時間設置,永久改變需要更改配置文件,超過5秒的慢查詢會被記錄到慢查詢日志文件中

mysql> set long_query_time=5;    

Query OK, 0 rows affected (0.25 sec)  


mysql> set global slow_query_log=1;    #開啟慢查詢,永久開啟需要修改配置文件

mysql> show global status like '%Slow_queries%';    #查看慢查詢日志數目

mysqldumpslow -s c -t 10 /database/mysql/mysql06_slow.log    #查看訪問最多的10個SQL

mysqldumpslow  slow-query.log    #對慢查詢分類匯總


   2 二進制日志:                            

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;    #顯示二進制文件內容


    3 日志的刪除——磁盤的容量是有限的,而日志的增長則是無限的

方式 1:reset master    刪除所有二進制日志

mysql> reset master;

Query OK, 0 rows affected (0.02 sec)

查看刪除后的二進制日志

mysql> system ls -ltr www-bin*

-rw-rw----. 1 mysql mysql 120 Apr 29 22:59 www-bin.000001

-rw-rw----. 1 mysql mysql  17 Apr 29 22:59 www-bin.index


方式 2:purge master logs to 'www-bin.000002';    刪除000002之前的日志

查看日志

mysql> system ls -ltr www-bin*

-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000001

-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000002

-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000003

-rw-rw----. 1 mysql mysql 120 Apr 29 23:04 www-bin.000004

-rw-rw----. 1 mysql mysql  68 Apr 29 23:04 www-bin.index

刪除日志

mysql> purge master logs to 'www-bin.000002';

Query OK, 0 rows affected (0.03 sec)

再次查看日志

mysql> system ls -ltr www-bin*

-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000002

-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000003

-rw-rw----. 1 mysql mysql 120 Apr 29 23:04 www-bin.000004

-rw-rw----. 1 mysql mysql  51 Apr 29 23:06 www-bin.index


方式 3:purge master logs before '2017-04-29 23:11:00';    刪除某個時間點之前的日志

查看日志

mysql> system ls -ltr www-bin*

-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000002

-rw-rw----. 1 mysql mysql 165 Apr 29 23:04 www-bin.000003

-rw-rw----. 1 mysql mysql 165 Apr 29 23:11 www-bin.000004

-rw-rw----. 1 mysql mysql 120 Apr 29 23:11 www-bin.000005

-rw-rw----. 1 mysql mysql  68 Apr 29 23:11 www-bin.index

刪除日志

mysql> purge master logs before '2017-04-29 23:11:00';

Query OK, 0 rows affected (0.74 sec)

再次查看日志

mysql> system ls -ltr www-bin*

-rw-rw----. 1 mysql mysql 165 Apr 29 23:11 www-bin.000004

-rw-rw----. 1 mysql mysql 120 Apr 29 23:11 www-bin.000005

-rw-rw----. 1 mysql mysql  34 Apr 29 23:13 www-bin.index


方法 4:在配置文件中添加參數:--expire_logs_days=# 參數的含義是設置日志過期的天數

1)修改配置文件:vim /etc/my.cnf 

expire_logs_days=60    #添加一行

[root@www mysql]# service mysqld restart


2)查看刪除前日志

mysql> system ls -ltr www-bin*

-rw-rw----. 1 mysql mysql 165 Apr 29 23:11 www-bin.000004

-rw-rw----. 1 mysql mysql 120 Apr 29 23:11 www-bin.000005

-rw-rw----. 1 mysql mysql  34 Apr 29 23:13 www-bin.index


3)修改系統時間

[root@www mysql]# date -s "2017-05-30"


4)刷新日志觸發日志更新,由于不到60天,因此日志不會被刪除

mysql> flush logs;

Query OK, 0 rows affected (0.64 sec)


mysql> system ls -ltr www-bin*

-rw-rw----. 1 mysql mysql 165 Apr 29 23:11 www-bin.000004

-rw-rw----. 1 mysql mysql 143 Apr 29 23:25 www-bin.000005

-rw-rw----. 1 mysql mysql 165 May 30 00:02 www-bin.000006

-rw-rw----. 1 mysql mysql 165 May 30 00:02 www-bin.000007

-rw-rw----. 1 mysql mysql 165 May 30 00:03 www-bin.000008

-rw-rw----. 1 mysql mysql 120 May 30 00:03 www-bin.000009

-rw-rw----. 1 mysql mysql 102 May 30 00:03 www-bin.index


5)將系統時間改為60天后,再次刷新日志觸發日志文件更新,可以發現60天前的日志被刪除

[root@www mysql]# date -s "2017-08-30"

mysql> flush logs;

Query OK, 0 rows affected (0.06 sec)


mysql> system ls -ltr www-bin*

-rw-rw----. 1 mysql mysql 165 Aug 30 00:00 www-bin.000010

-rw-rw----. 1 mysql mysql 120 Aug 30 00:00 www-bin.000011

-rw-rw----. 1 mysql mysql  34 Aug 30 00:00 www-bin.index

MySQL主要有哪幾種日志文件就先給大家講到這里,對于其它相關問題大家想要了解的可以持續關注我們的行業資訊。我們的板塊內容每天都會捕捉一些行業新聞及專業知識分享給大家的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巴林左旗| 信宜市| 交城县| 安化县| 穆棱市| 镇原县| 西平县| 灯塔市| 商都县| 武穴市| 洛扎县| 穆棱市| 德江县| 吉木乃县| 长垣县| 离岛区| 招远市| 宾川县| 洱源县| 略阳县| 贵定县| 固原市| 定边县| 历史| 随州市| 桃源县| 横峰县| 保康县| 托里县| 新龙县| 铁岭县| 台中县| 阿拉尔市| 海南省| 望谟县| 滨州市| 黄陵县| 永泰县| 贵定县| 双辽市| 陕西省|