MySQL 日志管理

一囚企、 錯(cuò)誤日志

??沒(méi)做特殊說(shuō)明畜伐,所有配置都在my.cnf文件下的 [mysqld] 域下
??包含了當(dāng)mysqld啟動(dòng)和停止時(shí)馍惹,以及服務(wù)器在運(yùn)行過(guò)程中發(fā)生任何嚴(yán)重錯(cuò)誤時(shí)的相關(guān)信息。如果沒(méi)有配置此選項(xiàng)玛界,mysqld 使用錯(cuò)誤日志名{host_name}.err并在數(shù)據(jù)目錄寫(xiě)入日志文件万矾。

log-error                      = /var/lib/mysql/mysql-error.log

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

??二進(jìn)制日志包含了所有更新了數(shù)據(jù)或者已經(jīng)潛在更新了數(shù)據(jù)(例如慎框,沒(méi)有匹配任何行的一個(gè)DELETE)的所有語(yǔ)句良狈。語(yǔ)句以“ 事件” 的形式保存,它描述數(shù)據(jù)更改文件位置和格式笨枯。如果配置文件未配置long-bin的值薪丁, 默認(rèn)名為{hostname}-bin.log遇西。如果給出了文件名,但沒(méi)有包含路徑严嗜,則文件被寫(xiě)入數(shù)據(jù)目錄粱檀。

server_id                       = 1 # server_id 唯一
log-bin                         = /var/lib/mysql/mysql-bin
expire-logs-days                = 14 # 日志過(guò)期時(shí)間

??二進(jìn)制日志相關(guān)操作

RESET MASTER;//刪除所有binlog日志,新日志編號(hào)從頭開(kāi)始

PURGE MASTER LOGS TO 'mysql-bin.010';//刪除mysql-bin.010之前所有日志

PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';// 刪除2003-04-02 22:46:26之前產(chǎn)生的所有日志

??相關(guān)選項(xiàng)

binlog-do-db                    = db_name1 # 指定要保存二進(jìn)制日志的數(shù)據(jù)庫(kù)漫玄,要保存多個(gè)的話(huà)寫(xiě)多條
binlog-do-db                    = db_name2

sync-binlog                     = 1 # 每寫(xiě)多少次日志同步磁盤(pán)

expire-logs-days                = 14 # 二進(jìn)制日志保留14天茄蚯,過(guò)期自動(dòng)刪除

max_binlog_size                 = 100M # 每個(gè)二進(jìn)制日志文件的大小

三、二進(jìn)制日志記錄模式

?1. ROW 模式

??日志文件會(huì)記錄成每一行數(shù)據(jù)被修改的形式称近,然后在Slave端再對(duì)相同的數(shù)據(jù)進(jìn)行修改第队。如果修改了表的結(jié)構(gòu),那么binlog日志記錄的是重新創(chuàng)建表刨秆,在插入字段凳谦、update等操作語(yǔ)句,而不是的alter的動(dòng)作衡未。

??優(yōu)點(diǎn):日志文件可以不記錄執(zhí)行的Query語(yǔ)句的上下文相關(guān)信息尸执,只要記錄哪一行修改了,修改成什么樣子缓醋。Row 模式會(huì)詳細(xì)的記錄下每一行數(shù)據(jù)的修改細(xì)節(jié)如失,而且不會(huì)出現(xiàn)某個(gè)特定情況下的存儲(chǔ)過(guò)程,或函數(shù)送粱,以及Trigger的調(diào)用和觸發(fā)無(wú)法被正確復(fù)制問(wèn)題褪贵。

??缺點(diǎn):所有的執(zhí)行的語(yǔ)句當(dāng)記錄到日志中的時(shí)候,都將以每行記錄的修改來(lái)記錄抗俄,這樣可能會(huì)產(chǎn)生大量的日志內(nèi)容,比如一條update語(yǔ)句脆丁,修改多條記錄,則binlog中每一條修改都會(huì)有記錄动雹,這樣造成binlog日志量會(huì)很大槽卫,特別是當(dāng)執(zhí)行alter table之類(lèi)的語(yǔ)句的時(shí)候,由于表結(jié)構(gòu)修改胰蝠,每條記錄都發(fā)生改變歼培,那么該表每一條記錄都會(huì)記錄到日志中。

?2. Statment 模式

??每一條修改的SQL語(yǔ)句都會(huì)記錄到Master的Binnary中茸塞。Slave端在復(fù)制的時(shí)候躲庄,SQL線(xiàn)程會(huì)解析成和原來(lái)Master端執(zhí)行過(guò)相同的SQL語(yǔ)句,并再次執(zhí)行翔横。

??優(yōu)點(diǎn):不須要記錄每一行的數(shù)據(jù)變化读跷,減少了Binnary Log日志量,節(jié)約了IO成本禾唁,提高了性能效览。

??缺點(diǎn):由于它是記錄的執(zhí)行語(yǔ)句,為了讓這些語(yǔ)句在Slave端也能正確執(zhí)行荡短。那么它還必須記錄每條語(yǔ)句在執(zhí)行時(shí)的一些相關(guān)信息丐枉,即上下文信息,以保證所有語(yǔ)句在Slave端被執(zhí)行的時(shí)候能夠得到和在Master端執(zhí)行時(shí)相同的結(jié)果掘托。另外瘦锹,由于MySQL發(fā)展比較快,很多新功能不斷加入闪盔,使得MySQL復(fù)制遇到了不小的挑戰(zhàn)弯院,復(fù)制時(shí)設(shè)計(jì)的內(nèi)容越復(fù)雜,越容易出bug泪掀。在Statement 模式下听绳,目前已發(fā)現(xiàn)不少的情況下會(huì)造成MySQL的復(fù)制問(wèn)題。主要是在修改數(shù)據(jù)使用了某些特定的函數(shù)貨功能后异赫,出現(xiàn)椅挣,比如:Sleep()函數(shù)在有些版本中就不能正確的復(fù)制,在存儲(chǔ)過(guò)程中使用了last_insert_id()函數(shù)塔拳,可能會(huì)使Slave和Master的到不一致的ID鼠证,等等。

使用以下函數(shù)的語(yǔ)句也無(wú)法被復(fù)制:
  * LOAD_FILE()
  * UUID()
  * USER()
  * FOUND_ROWS()
  * SYSDATE() (除非啟動(dòng)時(shí)啟用了 --sysdate-is-now 選項(xiàng))
  同時(shí)在INSERT ...SELECT 會(huì)產(chǎn)生比 RBR 更多的行級(jí)鎖

?3. mixed 模式(以上兩種模式混合使用)

??一般的語(yǔ)句修改使用 Statment 格式保存 binlog靠抑,如一些函數(shù)量九,Statement 無(wú)法完成主從復(fù)制的操作,則采用 Row 格式保存 binlog颂碧,MySQL 會(huì)根據(jù)執(zhí)行的每一條具體的 SQL 語(yǔ)句來(lái)區(qū)分對(duì)待記錄的日志形式荠列,也就是在 Statement 和 Row 之間選擇一種.新版本的 MySQL 中隊(duì) Row 模式也被做了優(yōu)化,并不是所有的修改都會(huì)以 Row 模式來(lái)記錄稚伍,像遇到表結(jié)構(gòu)變更的時(shí)候就會(huì)以 Statement 模式來(lái)記錄弯予。至于 Update 或者 Delete 等修改數(shù)據(jù)的語(yǔ)句,還是會(huì)記錄所有行的變更个曙。除了 MySQL 認(rèn)為通過(guò) Statement 方式可能造成復(fù)制過(guò)程中 Master 和 Slave 之間產(chǎn)生不一致數(shù)據(jù)锈嫩。(如特殊 Procedure 和 Funtion 的使用,UUID() 函數(shù)的使用等特殊情況)時(shí)垦搬,它會(huì)選擇 Row 的模式來(lái)記錄變更之外呼寸,都會(huì)使用Statement方式。

binlog_format                    = MIXED 

四猴贰、慢查詢(xún)?nèi)罩?/h4>

??記錄包含所有執(zhí)行時(shí)間超過(guò)long_query_time秒的SQL語(yǔ)句的日志文件对雪。獲得初使表鎖定的時(shí)間不算作執(zhí)行時(shí)間。

log-queries-not-using-indexes    = 1 # 把沒(méi)有使用索引的查詢(xún)語(yǔ)句也記錄到慢查詢(xún)?nèi)罩局?slow-query-log                   = 1  # 記錄慢查詢(xún)?nèi)罩?long_query_time                  = 2  # 設(shè)定慢查詢(xún)時(shí)間(秒)
slow-query-log-file              = /var/lib/mysql/mysql-slow.log # 慢查詢(xún)?nèi)罩疚恢?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末米绕,一起剝皮案震驚了整個(gè)濱河市瑟捣,隨后出現(xiàn)的幾起案子馋艺,更是在濱河造成了極大的恐慌,老刑警劉巖迈套,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捐祠,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡桑李,警方通過(guò)查閱死者的電腦和手機(jī)踱蛀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)贵白,“玉大人率拒,你說(shuō)我怎么就攤上這事〗模” “怎么了猬膨?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)圈浇。 經(jīng)常有香客問(wèn)我寥掐,道長(zhǎng),這世上最難降的妖魔是什么磷蜀? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任召耘,我火速辦了婚禮,結(jié)果婚禮上褐隆,老公的妹妹穿的比我還像新娘污它。我一直安慰自己,他們只是感情好庶弃,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布衫贬。 她就那樣靜靜地躺著,像睡著了一般歇攻。 火紅的嫁衣襯著肌膚如雪固惯。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,842評(píng)論 1 290
  • 那天缴守,我揣著相機(jī)與錄音葬毫,去河邊找鬼。 笑死屡穗,一個(gè)胖子當(dāng)著我的面吹牛贴捡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播村砂,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼烂斋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起汛骂,我...
    開(kāi)封第一講書(shū)人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤罕模,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后香缺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體手销,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡歇僧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年图张,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诈悍。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡祸轮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出侥钳,到底是詐尸還是另有隱情适袜,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布舷夺,位于F島的核電站苦酱,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏给猾。R本人自食惡果不足惜疫萤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望敢伸。 院中可真熱鬧扯饶,春花似錦、人聲如沸池颈。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)躯砰。三九已至每币,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間琢歇,已是汗流浹背兰怠。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留矿微,地道東北人痕慢。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像涌矢,于是被迫代替她去往敵國(guó)和親掖举。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

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

  • 日志文件對(duì)于一個(gè)服務(wù)器來(lái)說(shuō)是非常重要的娜庇,它記錄著服務(wù)器的運(yùn)行信息塔次,許多操作都會(huì)寫(xiě)日到日志文件方篮,通過(guò)日志文件可以監(jiān)視...
    時(shí)待吾閱讀 1,012評(píng)論 0 5
  • Mysql 有4種類(lèi)型的日志:Error Log、Genaral Query Log励负、 Binary Log 和 ...
    人在碼途閱讀 16,391評(píng)論 2 11
  • 轉(zhuǎn)眼間藕溅,我也終于到了那個(gè)可以跟那些學(xué)弟學(xué)妹們說(shuō):“你們的現(xiàn)在,已是我們回不去的曾經(jīng)”的年紀(jì)了继榆。 從小便能聽(tīng)說(shuō)這些似...
    胤兒閱讀 157評(píng)論 0 0
  • 小時(shí)候 爸爸的目光是我們的向往 爸爸的視線(xiàn)是我們的世界 長(zhǎng)大以后 我們的世界是爸爸的視線(xiàn) 我們的未來(lái)是爸爸的目光 ...
    藍(lán)色海洋123閱讀 379評(píng)論 4 10
  • 本周讀書(shū):《公司的演變》 封面: 作者:《商業(yè)價(jià)值》雜志社著 讀書(shū)筆記: 本書(shū)是一本關(guān)于百度巾表、騰訊、阿里巴巴略吨、聯(lián)想...
    syansteven閱讀 411評(píng)論 0 0