溫馨提示×

溫馨提示×

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

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

MySQL日志-二進制日志(Binlog)

發(fā)布時間:2020-08-08 08:07:22 來源:ITPUB博客 閱讀:108 作者:yangi1314 欄目:MySQL數(shù)據(jù)庫

MySQL有下面幾個不同的日志文件,可以幫助你找出mysqld內(nèi)部發(fā)生的事情:

日志文件

記入文件中的信息類型

錯誤日志(-log-err)

記錄啟動、運行或停止mysqld時出現(xiàn)的問題。

查詢?nèi)罩?-log)

記錄建立的客戶端連接和執(zhí)行的語句。

更新日志(-log-update)

記錄更改數(shù)據(jù)的語句。不贊成使用該日志。

二進制日志(-log-bin)

記錄所有更改數(shù)據(jù)的語句。還用于復(fù)制。

慢日志(-log-slow-queries)

記錄所有執(zhí)行時間超過long_query_time秒的所有查詢或不使用索引的查詢。


在mysql的安裝目錄下,打開my.cnf,在后面加上上面的參數(shù),保存后重啟mysql服務(wù)就行了。  
例如: 
  
   log-error= d:/mysql/log/log-error.log
   #log=......
   #log-slow-queries=......
   #log-update=......
   #log-bin=......
         
上面只開啟了錯誤日志,要開其他的日志就把前面的“#”去掉并設(shè)置日志格式及目錄。

下面重點介紹一下二進制日志(binlog)

二進制以一種更有效的格式,并且是事務(wù)安全的方式包含更新日志中可用的所有信息。

包含關(guān)于每個更新數(shù)據(jù)庫的語句的執(zhí)行時間信息。它不包含沒有修改任何數(shù)據(jù)的語句。
下面介紹一下和二進制日志(binlog)相關(guān)的一些操作。

1、是否啟用了日志
ON為啟用
mysql>   show variables like 'log_bin';

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

| Variable_name | Value |
+---------------+-------+
| log_bin       | ON    |
+---------------+-------+

2、查看二進制日志
2.1、查看所有二進制日志列表
mysql> show binary logs;
+---------------+-----------+
| Log_name      | File_size |
+---------------+-----------+
| binlog.000001 |      2036 |
| binlog.000002 |       143 |
| binlog.000003 |       143 |
| binlog.000004 |       143 |
| binlog.000005 |       143 |
| binlog.000006 |       120 |
+---------------+-----------+

2.2、查看正在使用的二進制日志狀態(tài)信息
mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000006 |      120 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+

3、查看binlog日志的大小
mysql> show variables like 'max_binlog_size';
+-----------------+------------+
| Variable_name   | Value      |
+-----------------+------------+
| max_binlog_size | 1073741824 |
+-----------------+------------+

4、刪除binlog日志
刪除binlog日志有以下幾種方式:
4.1、設(shè)置expire_logs_days 參數(shù)
expire_logs_days 參數(shù)表示二進制日志自動刪除的天數(shù)。默認(rèn)值為0,表示“沒有自動刪除”。
mysql> show variables like 'expire_logs_days';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 0     |
+------------------+-------+
可以使用下列方式修改expire_logs_days參數(shù)值。
mysql> set global expire_logs_days=5;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'expire_logs_days';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| expire_logs_days | 5     |
+------------------+-------+

4.2、刪除全部二進制日志
使用RESET MASTER;命令可以刪除全部binlog。
mysql> RESET MASTER;

4.3、使用PURGE MASTER LOGS
PURGE {MASTER | BINARY} LOGS TO 'log_name'
PURGE {MASTER | BINARY} LOGS BEFORE 'date'
用于刪除列于在指定的日志或日期之前的日志索引中的所有二進制日志。這些日志也會從記錄在日志索引文件中的清單中被刪除,這樣被給定的日志成為第一個。
例如:
PURGE MASTER LOGS TO 'binlog.000003';
PURGE MASTER LOGS BEFORE '2016-04-02 22:46:26';
BEFORE變量的date自變量可以為'YYYY-MM-DD hh:mm:ss'格式。MASTER和BINARY是同義詞。

5、查看二進制文件的內(nèi)容
查看二進制文件的內(nèi)容用mysqlbinlog
[root@mysql1 log]# mysqlbinlog binlog.000001 |more
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#160426 13:44:42 server id 1  end_log_pos 120   Start: binlog v 4, server v 5.6.30-log created 160426 13:44:42 at startup
ROLLBACK/*!*/;
BINLOG '
SgAfVw8BAAAAdAAAAHgAAAAAAAQANS42LjMwLWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABKAB9XEzgNAAgAEgAEBAQEEgAAXAAEGggAAAAICAgCAAAACgoKGRkAAZhk
qys=
'/*!*/;
# at 120
。。。。。。。。。。。。。。。。。。。。。。。。。。。
-----日志里面能看到你對數(shù)據(jù)庫做的更改操作,比如下面是我的日志里面其中一個操作。
use `test2`/*!*/;
SET TIMESTAMP=1461649838/*!*/;
insert into t values(1,'2016-04-27')#
/*!*/;
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI