MySql日志

一、錯(cuò)誤日志

錯(cuò)誤日志是 MySQL 中最重要的日志之一性誉,它記錄了當(dāng) mysqld 啟動(dòng)和停止時(shí)汹押,以及服務(wù)器在運(yùn)行過(guò)程中發(fā)生任何嚴(yán)重錯(cuò)誤時(shí)的相關(guān)信息。當(dāng)數(shù)據(jù)庫(kù)出現(xiàn)任何故障導(dǎo)致無(wú)法正常使用時(shí)吆视,建議首先查看此日志典挑。
該日志是默認(rèn)開啟的,默認(rèn)存放目錄 /var/log/啦吧,默認(rèn)的日志文件名為 mysqld.log 您觉。查看日志位置:
show variables like '%log_error%';

二、二進(jìn)制日志

1.介紹

二進(jìn)制日志(BINLOG)記錄了所有的 DDL(數(shù)據(jù)定義語(yǔ)言)語(yǔ)句和 DML(數(shù)據(jù)操縱語(yǔ)言)語(yǔ)句授滓,但不包括數(shù)據(jù)查詢(SELECT琳水、SHOW)語(yǔ)句。
作用:
①. 災(zāi)難時(shí)的數(shù)據(jù)恢復(fù)褒墨;
②. MySQL的主從復(fù)制炫刷。

在MySQL8版本中,默認(rèn)二進(jìn)制日志是開啟著的郁妈,涉及到的參數(shù)如下:
show variables like '%log_bin%';

參數(shù)說(shuō)明:

  • log_bin_basename:當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器的binlog日志的基礎(chǔ)名稱(前綴)浑玛,具體的binlog文件名需要再該basename的基礎(chǔ)上加上編號(hào)(編號(hào)從000001開始)。
  • log_bin_index:binlog的索引文件噩咪,里面記錄了當(dāng)前服務(wù)器關(guān)聯(lián)的binlog文件有哪些顾彰。

2.格式

MySQL服務(wù)器中提供了多種格式來(lái)記錄二進(jìn)制日志,具體格式及特點(diǎn)如下:

  • STATEMENT: 基于SQL語(yǔ)句的日志記錄胃碾,記錄的是SQL語(yǔ)句涨享,對(duì)數(shù)據(jù)進(jìn)行修改的SQL都會(huì)記錄在日志文件中。
  • ROW: 基于行的日志記錄仆百,記錄的是每一行的數(shù)據(jù)變更厕隧。(默認(rèn))
  • MIXED: 混合了STATEMENT和ROW兩種格式,默認(rèn)采用STATEMENT俄周,在某些特殊情況下會(huì)自動(dòng)切換為ROW進(jìn)行記錄吁讨。

配置二進(jìn)制日志的格式,只需要在 /etc/my.cnf 中配置binlog_format 參數(shù)即可峦朗。
show variables like '%binlog_format%';

3.查看

由于日志是以二進(jìn)制方式存儲(chǔ)的建丧,不能直接讀取,需要通過(guò)二進(jìn)制日志查詢工具 mysqlbinlog 來(lái)查看波势,具體語(yǔ)法:

mysqlbinlog [ 參數(shù)選項(xiàng) ] logfilename
參數(shù)選項(xiàng):
-d 指定數(shù)據(jù)庫(kù)名稱翎朱,只列出指定的數(shù)據(jù)庫(kù)相關(guān)操作。
-o 忽略掉日志中的前n行命令尺铣。
-v 將行事件(數(shù)據(jù)變更)重構(gòu)為SQL語(yǔ)句
-vv 將行事件(數(shù)據(jù)變更)重構(gòu)為SQL語(yǔ)句拴曲,并輸出注釋信息

4.刪除

對(duì)于比較繁忙的業(yè)務(wù)系統(tǒng),每天生成的binlog數(shù)據(jù)巨大凛忿,如果長(zhǎng)時(shí)間不清除澈灼,將會(huì)占用大量磁盤空間≈斗牵可以通過(guò)以下幾種方式清理日志:

  • reset master: 刪除全部 binlog 日志蕉汪,刪除之后,日志編號(hào)逞怨,將從 binlog.000001重新開始
  • purge master logs to 'binlog.*': 刪除 * 編號(hào)之前的所有日志
  • purge master logs before 'yyyy-mm-dd hh24:mi:ss': 刪除日志為 "yyyy-mm-dd hh24:mi:ss" 之前產(chǎn)生的所有日志

也可以在mysql的配置文件中配置二進(jìn)制日志的過(guò)期時(shí)間者疤,設(shè)置了之后,二進(jìn)制日志過(guò)期會(huì)自動(dòng)刪除叠赦。
show variables like '%binlog_expire_logs_seconds%';

三驹马、查詢?nèi)罩?/h2>

查詢?nèi)罩局杏涗浟丝蛻舳说乃胁僮髡Z(yǔ)句,而二進(jìn)制日志不包含查詢數(shù)據(jù)的SQL語(yǔ)句除秀。默認(rèn)情況下糯累,查詢?nèi)罩臼俏撮_啟的。
開啟查詢?nèi)罩静岵龋梢孕薷腗ySQL的配置文件 /etc/my.cnf 文件泳姐,添加如下內(nèi)容:

#該選項(xiàng)用來(lái)開啟查詢?nèi)罩?, 可選值 : 0 或者 1 暂吉; 0 代表關(guān)閉胖秒, 1 代表開啟
general_log=1
#設(shè)置日志的文件名 , 如果沒(méi)有指定慕的, 默認(rèn)的文件名為 host_name.log
general_log_file=mysql_query.log

開啟了查詢?nèi)罩局笱指危贛ySQL的數(shù)據(jù)存放目錄,也就是 /var/lib/mysql/ 目錄下就會(huì)出現(xiàn) mysql_query.log 文件肮街。之后所有的客戶端的增刪改查操作都會(huì)記錄在該日志文件之中风题,長(zhǎng)時(shí)間運(yùn)行后,該日志文件將會(huì)非常大嫉父。

四沛硅、慢查詢?nèi)罩?/h2>

慢查詢?nèi)罩居涗浟怂袌?zhí)行時(shí)間超過(guò)參數(shù) long_query_time 設(shè)置值并且掃描記錄數(shù)不小于min_examined_row_limit 的所有的SQL語(yǔ)句的日志,默認(rèn)未開啟熔号。long_query_time 默認(rèn)為10 秒稽鞭,最小為 0, 精度可以到微秒引镊。
如果需要開啟慢查詢?nèi)罩倦蹋枰贛ySQL的配置文件 /etc/my.cnf 中配置如下參數(shù):

#慢查詢?nèi)罩?slow_query_log=1
#執(zhí)行時(shí)間參數(shù)
long_query_time=2

默認(rèn)情況下,不會(huì)記錄管理語(yǔ)句弟头,也不會(huì)記錄不使用索引進(jìn)行查找的查詢吩抓。可以使用log_slow_admin_statements和 更改此行為log_queries_not_using_indexes赴恨,如下所述

#記錄執(zhí)行較慢的管理語(yǔ)句
log_slow_admin_statements =1
#記錄執(zhí)行較慢的未使用索引的語(yǔ)句
log_queries_not_using_indexes = 1

上述所有的參數(shù)配置完成之后疹娶,都需要重新啟動(dòng)MySQL服務(wù)器才可以生效。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末伦连,一起剝皮案震驚了整個(gè)濱河市雨饺,隨后出現(xiàn)的幾起案子钳垮,更是在濱河造成了極大的恐慌,老刑警劉巖额港,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件饺窿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡移斩,警方通過(guò)查閱死者的電腦和手機(jī)肚医,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)向瓷,“玉大人肠套,你說(shuō)我怎么就攤上這事〔危” “怎么了你稚?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)朱躺。 經(jīng)常有香客問(wèn)我入宦,道長(zhǎng),這世上最難降的妖魔是什么室琢? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任乾闰,我火速辦了婚禮,結(jié)果婚禮上盈滴,老公的妹妹穿的比我還像新娘涯肩。我一直安慰自己,他們只是感情好巢钓,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布病苗。 她就那樣靜靜地躺著,像睡著了一般症汹。 火紅的嫁衣襯著肌膚如雪硫朦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天背镇,我揣著相機(jī)與錄音咬展,去河邊找鬼。 笑死瞒斩,一個(gè)胖子當(dāng)著我的面吹牛破婆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胸囱,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼祷舀,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起裳扯,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤抛丽,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后饰豺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铺纽,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年哟忍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陷寝。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡锅很,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出凤跑,到底是詐尸還是另有隱情爆安,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布仔引,位于F島的核電站扔仓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏咖耘。R本人自食惡果不足惜翘簇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望儿倒。 院中可真熱鬧版保,春花似錦、人聲如沸夫否。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)凰慈。三九已至汞幢,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間微谓,已是汗流浹背森篷。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豺型,地道東北人疾宏。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像触创,于是被迫代替她去往敵國(guó)和親坎藐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 引用自 https://blog.csdn.net/feierleba/article/details/64131...
    laravel閱讀 786評(píng)論 0 0
  • MySQL 日志 錯(cuò)誤日志 錯(cuò)誤日志是 MySQL 中最重要的日志之一,它記錄了當(dāng) mysqld 啟動(dòng)和停止時(shí)岩馍,以...
    安靜點(diǎn)就睡吧閱讀 442評(píng)論 0 1
  • MySQL8.0 官網(wǎng)日志地址[https://dev.mysql.com/doc/refman/8.0/en/s...
    紫荊秋雪_文閱讀 304評(píng)論 0 1
  • MySQl日志 Mariadb日志類型: 查詢?nèi)罩荆篻eneral_log 慢查詢?nèi)罩荆簂og_slow_quer...
    Net夜風(fēng)閱讀 912評(píng)論 0 1
  • 日志文件對(duì)于一個(gè)服務(wù)器來(lái)說(shuō)是非常重要的碉咆,它記錄著服務(wù)器的運(yùn)行信息,許多操作都會(huì)寫日到日志文件蛀恩,通過(guò)日志文件可以監(jiān)視...
    時(shí)待吾閱讀 1,019評(píng)論 0 5