mysql binlog日志查詢不出語(yǔ)句問(wèn)題及解決
mysql binlog日志查詢不出語(yǔ)句
當(dāng)bin-log的模式設(shè)置為 row時(shí)
不僅日志長(zhǎng)得快 并且查看執(zhí)行的sql時(shí) 也稍微麻煩一點(diǎn):
1.干擾語(yǔ)句多
2.生成sql的編碼需要解碼
binlog_format=row
直接mysqlbinlog出來(lái)的 文件
執(zhí)行sql部分的sql顯示為base64編碼格式
固生成sql記錄的時(shí)候 不能用常規(guī)的辦法去生成 需要加上相應(yīng)的參數(shù)才能顯示出sql語(yǔ)句
--base64-output=decode-rows -v
例如:
/opt/MySQL/bin/mysqlbinlog --base64-output=decode-rows -v --start-date='2014-09-16 14:00:00' --stop-date='2014-09-16 14:20:00' /opt/mysql/log/mysql-bin.000017 >/opt/mysql_bak/mysqlbinlogsql_restore_2014091614.sql
mysql的binlog日志
查看和配置binlog
1、log_bin 是否開啟binlog,指定日志文件路徑
2、log_bin_basename 和 log_bin_index 日志文件基礎(chǔ)名和索引名(*好像不能用來(lái)設(shè)置只是展示作用,我設(shè)置時(shí)時(shí)會(huì)報(bào)錯(cuò)無(wú)法啟動(dòng)服務(wù))
3、binlog_format 日志格式
4、binlog_error_action 設(shè)置當(dāng)binlog日志數(shù)據(jù)一致性遭到破壞或者復(fù)制操作停止時(shí),服務(wù)器要做什么操作。有兩個(gè)選項(xiàng)ABORT_SERVER 服務(wù)關(guān)閉(默認(rèn)值), IGNORE_ERROR 忽略錯(cuò)誤。
操作binglog日志的常用命令
1、show master logs; 或者 show binary logs; 查看所有binlog日志列表。
2、show master status; 查看master狀態(tài)。
- File 最新的一個(gè)binlog日志的編號(hào)名稱
- Position 最后一個(gè)操作事件pos結(jié)束點(diǎn)的值
3、flush logs; 刷新log日志文件,從當(dāng)前時(shí)間開始產(chǎn)生一個(gè)新編號(hào)的binlog日志文件。
******每當(dāng)mysqld服務(wù)重啟時(shí),會(huì)自動(dòng)執(zhí)行此命令,刷新binlog日志;在mysqldump備份數(shù)據(jù)時(shí)加 -F 選項(xiàng)也會(huì)刷新binlog日志;
4、reset master; 清空所有binlog日志
使用mysql自帶的mysqlbinlog命令和grep命令 查看binlog
1、mysqlbinlog 【參數(shù) 】 【binlog文件】
- -d, --database=name 僅顯示指定數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)內(nèi)容。
- -o, --offset=# 跳過(guò)前N行的日志條目。
- -r, --result-file=name 將輸入的文本格式的文件轉(zhuǎn)儲(chǔ)到指定的文件。
- -s, --short-form 使用簡(jiǎn)單格式。
- --set-charset=name 在轉(zhuǎn)儲(chǔ)文件的開頭增加'SET NAMES character_set'語(yǔ)句。
- --start-datetime=name 日志的起始時(shí)間。
- --stop-datetime=name 日志的截止時(shí)間。
- -j, --start-position=# 日志的起始位置。
- --stop-position=# 日志的截止位置。
- --base64-outputbinlog 輸出語(yǔ)句的base64解碼
分為三類:
默認(rèn)是值auto ,僅打印base64編碼的需要的信息,如row-based 事件和事件的描述信息。
- never 僅適用于不是row-based的事件
- decode-rows 配合--verbose選項(xiàng)一起使用解碼行事件到帶注釋的偽SQL語(yǔ)句
- -v,--verbose :顯示statement模式帶來(lái)的sql語(yǔ)句
***解析mixed格式binlog需要使用 --base64-output=DECODE-ROWS --verbose或--base64-output=DECODE-ROWS -v 來(lái)解析
2、grep '【關(guān)鍵字】' 【參數(shù)】
grep是一個(gè)強(qiáng)大的文本搜索工具命令,用于查找文件中符合指定格式的字符串,支持正則表達(dá)式。
grep命令常用參數(shù)說(shuō)明
- -A 除了顯示符合條件的那一行之外,并顯示該列之后的指定行的內(nèi)容內(nèi)容。
- -B 除了顯示符合條件的那一行之外,并顯示該列之前的指定行的內(nèi)容內(nèi)容。
- -c 計(jì)算符合結(jié)果的行數(shù)。
- -i 忽略字符大小寫
- -v 反向查找
- -e 按指定字符串查找
- -E 按指定字符串指定的正則查找
- -n 在顯示符合條件的那一行前,標(biāo)識(shí)出該行的行數(shù)標(biāo)號(hào)。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- MySQL使用binlog日志恢復(fù)數(shù)據(jù)的方法步驟
- MySQL刪除binlog日志文件的三種實(shí)現(xiàn)方式
- 開啟mysql的binlog日志步驟詳解
- Python解析MySQL Binlog日志分析情況
- 使用Canal監(jiān)聽MySQL Binlog日志的實(shí)現(xiàn)方案
- mysql查看binlog日志的實(shí)現(xiàn)方法
- MySQL使用binlog日志進(jìn)行數(shù)據(jù)庫(kù)遷移和數(shù)據(jù)恢復(fù)
- Docker內(nèi)部MySQL如何開啟binlog日志
- MySQL中根據(jù)binlog日志進(jìn)行恢復(fù)的實(shí)現(xiàn)
相關(guān)文章
淺談mysql的sql_mode可能會(huì)限制你的查詢
本文主要介紹了淺談mysql的sql_mode可能會(huì)限制你的查詢,這個(gè)問(wèn)題主要說(shuō)明的是,我們寫的sql查詢語(yǔ)句違背了聚合函數(shù)group?by的規(guī)則,下面就來(lái)介紹一下解決方法,感興趣的可以了解一下2025-03-03- 從這個(gè)基本語(yǔ)法可以看出,最簡(jiǎn)單的SELECT語(yǔ)句是SELECT select_list,實(shí)際上利用這個(gè)最簡(jiǎn)單的SELECT語(yǔ)句,你也可以完成許多你期待的功能,首先你能利用它進(jìn)行MySQL所支持的任何運(yùn)算,例如:SELECT 1+1,它將返回2;其次,你也能利用它給變量賦值,而在PHP中,運(yùn)用SELECT語(yǔ)句的這種功能,你就可以自由地運(yùn)用MySQL的函數(shù)為PHP程序進(jìn)行各種運(yùn)算,并賦值給變量。在很多的時(shí)候,你會(huì)發(fā)現(xiàn)MySQL擁有許多比PHP更為功能強(qiáng)大的函數(shù)。2008-04-04
MySQL中配置文件my.cnf因權(quán)限問(wèn)題導(dǎo)致無(wú)法啟動(dòng)的解決方法
這篇文章主要給大家介紹了關(guān)于MySQL中配置文件my.cnf因權(quán)限問(wèn)題導(dǎo)致無(wú)法啟動(dòng)的解決方法,該無(wú)法啟動(dòng)的錯(cuò)誤提示代碼是:World-writable config file '/etc/my.cnf' is ignored,文中給出了詳細(xì)的解決方法,需要的朋友們下面來(lái)一起看看吧。2017-06-06云服務(wù)器安裝mysql的實(shí)現(xiàn)步驟
在當(dāng)前的互聯(lián)網(wǎng)時(shí)代,云計(jì)算已經(jīng)成為重要的平臺(tái)支撐,本文就來(lái)介紹一下云服務(wù)器安裝mysql的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01MySQL查詢表中重復(fù)數(shù)據(jù)的實(shí)現(xiàn)
在數(shù)據(jù)庫(kù)中,我們經(jīng)常需要查詢重復(fù)字段來(lái)確保數(shù)據(jù)的準(zhǔn)確性,如果數(shù)據(jù)中有重復(fù)字段,則可能會(huì)導(dǎo)致查詢結(jié)果錯(cuò)誤,本文就想詳細(xì)的介紹了MySQL查詢表中重復(fù)數(shù)據(jù),感興趣的可以了解一下2023-08-08Mysql數(shù)據(jù)庫(kù)使用concat函數(shù)執(zhí)行SQL注入查詢
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)使用concat函數(shù)執(zhí)行SQL注入查詢,concat函數(shù)在SQL注入查詢中會(huì)有意想不到的作用,本文就起講解它的使用,需要的朋友可以參考下2015-04-04