溫馨提示×

溫馨提示×

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

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

binlog+審計日志講義

發(fā)布時間:2020-04-25 17:07:13 來源:億速云 閱讀:314 作者:三月 欄目:MySQL數(shù)據(jù)庫

 本文主要給大家介紹binlog+審計日志講義,希望可以給大家補(bǔ)充和更新些知識,如有其它問題需要了解的可以持續(xù)在億速云行業(yè)資訊里面關(guān)注我的更新文章的。

 最近線上數(shù)據(jù)莫名的丟數(shù)據(jù),故進(jìn)行sql定位,定位線上數(shù)據(jù)為何丟失,最后定位到具體某開發(fā)程序。

  審計日志:記錄數(shù)據(jù)庫所有信息,故會有巨大的日志,而且參數(shù)設(shè)置審計日志大小,會進(jìn)行審計日志輪換分割。

1.基于審計日志這個特點,業(yè)務(wù)提出問題后,要及時發(fā)現(xiàn)問題解決問題。

線上業(yè)務(wù)日志為512M一個日志,共10個。大約能記錄8個小時左右的數(shù)據(jù)庫訪問信息。

2.binlog:binlog是記錄mysql數(shù)據(jù)庫變化的信息,記錄增刪改等信息。

結(jié)合以上兩點:可以binlog定位問題sql,通過審計日志定位操作DB的IP,用戶從而定位到具體某人。

(如果每個開發(fā)有單獨的數(shù)據(jù)庫操作用戶/權(quán)限,定位會更加準(zhǔn)確)

比如業(yè)務(wù)給一個字段 id=11223344 記錄被刪除。

日志量小的時候,可通過審計日志直接定位。日質(zhì)量大的時候可能比較困難定位。

binlog+審計日志講義

實驗:

MariaDB [test]> create table t111 ( id int not null, name varchar(30), city varchar(30));

Query OK, 0 rows affected (0.08 sec)

MariaDB [test]> insert into t111 (id,name) values (1,'aaa'),(2,'bbb'),(3,'ccc'),(11223344,'dddd');

Query OK, 4 rows affected (0.02 sec)

Records: 4  Duplicates: 0  Warnings: 0

MariaDB [test]> delete from t111 where id=11223344;

Query OK, 1 row affected (0.04 sec)


  1. 通過binlog分析:

  • 確定當(dāng)前binlog

    show master status;


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

    | File             |

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

    | mysql-bin.000023 |

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

/usr/local/mysql/bin/mysqlbinlog --start-datetime='2018-02-26 15:00:00' --stop-datetime='2018-02-26 15:13:00' -v --base64-output=decode-rows mysql-bin.000023 >/data/bin.log


#180226 15:09:48 server id 3306116  end_log_pos 775 CRC32 0x27b288a6    GTID 0-3306116-1280 trans

/*!100001 SET @@session.gtid_seq_no=1280*//*!*/;

BEGIN

/*!*/;

# at 775

#180226 15:09:48 server id 3306116  end_log_pos 828 CRC32 0x636faceb    Table_map: `test`.`t111` mapped to number 609

# at 828

#180226 15:09:48 server id 3306116  end_log_pos 871 CRC32 0xc6b380c3    Delete_rows: table id 609 flags: STMT_END_F

### DELETE FROM `test`.`t111`

### WHERE

###   @1=11223344 /* INT meta=0 nullable=0 is_null=0 */

###   @2='dddd' /* VARSTRING(120) meta=120 nullable=1 is_null=0 */

###   @3=NULL /* VARSTRING(120) meta=120 nullable=1 is_null=1 */

# at 871


2.審計日志分析

20180226 15:09:46,XHY005116,catr1,192.168.5.116,7125,0,DISCONNECT,,,0

20180226 15:09:48,XHY005116,root,localhost,7085,51,QUERY,test,'delete from t111 where id=11223344',0

20180226 15:09:49,XHY005116,catr1,192.168.5.117,7127,0,FAILED_CONNECT,,,1049


通過兩部分日志定位用戶,IP,表,sql等等信息。


看了以上關(guān)于binlog+審計日志講義,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補(bǔ)充的地方,如有需要更加專業(yè)的解答,可在官網(wǎng)聯(lián)系我們的24小時售前售后,隨時幫您解答問題的。

 



向AI問一下細(xì)節(jié)

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

AI