溫馨提示×

溫馨提示×

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

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

mysql相關(guān)的日志文件有哪些

發(fā)布時間:2022-01-14 15:50:39 來源:億速云 閱讀:145 作者:小新 欄目:數(shù)據(jù)庫

這篇文章給大家分享的是有關(guān)mysql相關(guān)的日志文件有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

 Mysql的日志文件種類比較多,有的日志文件記錄了mysql的服務(wù)狀態(tài)以及mysql在工作中產(chǎn)生的系統(tǒng)信息,我們利用這些信息可以更方便的對mysql服務(wù)進行運維,但是有的日志文件如果我們進行了不正確的配置將對mysql的服務(wù)器主機造成不良的后果,下面我們就來看看mysql有哪些日志文件以及他們的各自的作用。
   Mysql相關(guān)的日志文件,主要有兩大類:事務(wù)日志和事件日志:
【事務(wù)日志】
   事務(wù)日志:詳細的記錄了在什么時間發(fā)生了什么時候,在哪個時間對哪些數(shù)據(jù)進行了改變,能后實現(xiàn)事件的重放,一般只記錄對數(shù)據(jù)進行改變的操作,對于讀操作一般不進行記錄
   事物日志為服務(wù)器實現(xiàn)以下功能:
   1、將隨機IO轉(zhuǎn)換為順序IO,大大的提高了數(shù)據(jù)庫的性能,存儲的數(shù)據(jù)可能存在在磁盤的不同位置,降低了數(shù)據(jù)的讀取和操作性能。轉(zhuǎn)換為順序IO的原理為,先將數(shù)據(jù)存放在日志文件中,然后由RDBSM的后臺將日志中的數(shù)據(jù)存放到磁盤上,這樣就保證了存儲的數(shù)據(jù)是連續(xù)的。
   2、為事件重放提供基礎(chǔ),事務(wù)日志詳細的記錄了時間發(fā)生的時間以及操作的數(shù)據(jù)對象,事務(wù)進程可以根據(jù)這些信息進行時間重放
   默認的事務(wù)日志文件有兩個,位于數(shù)據(jù)目錄下以ibdata+number結(jié)尾的數(shù)字,我們可以對事務(wù)日志的位置、文件大小、增長方式進行定義,定義的方法如下:
   這里以使用支持事務(wù)的Innodb存儲引擎為例
   在服務(wù)器的主配置文件/etc/my.cnf中:
   innodb_data_home_dir = /innodata  定義存放事務(wù)日志的目錄
   innodb_data_file_path = ibdata1:1024M  定義日志的名字和大小
   innodb_data_file_path = ibdata2:50M:autoextend  定義日志大小的增長方式
【事件日志】
   事件日志:記錄了服務(wù)器的歷史事件,即在生么時間發(fā)生了什么事,其中根據(jù)記錄內(nèi)容的不同可以將事件日志分為一下幾種:
   1、 the error log錯誤日志:在對應(yīng)的數(shù)據(jù)目錄中,以主機名+.err命名的文件。
       錯誤日志記錄的信息類型:
          1、記錄了服務(wù)器運行中產(chǎn)生的錯誤信息
          2、記錄了服務(wù)在啟動和停止是所產(chǎn)生的信息
          3、在從服務(wù)器上如果啟動了復(fù)制進程的時候,復(fù)制進程的信息也會被記錄
       啟用錯誤日志:默認情況下,系統(tǒng)已近將其自動啟動
           在主配置文件中:
           log-error= 指定錯誤日志的位置,這個位置myaql用戶必須有寫權(quán)限,
   2、the binary log二進制日志:默認開啟。精確的記錄了用戶對數(shù)據(jù)庫中的數(shù)據(jù)進行操作的命令和操作的數(shù)據(jù)對象。
       二進制日志文件的作用:
          1、提供了增量備份的功能
          2、提供了數(shù)據(jù)基于時間點的恢復(fù),這個恢復(fù)的時間點可以由用戶控制
          3、為的復(fù)制架構(gòu)提供基礎(chǔ),將這主服務(wù)器的二進制日志復(fù)制到從服務(wù)器上并執(zhí)行同樣的操作,就可將數(shù)據(jù)進行同步
       啟用:默認在數(shù)據(jù)目錄下以mysql-bin.number命名的文件
          log-bin=  指定二進制日志文件的名字
          log-bin-index= 定義二進制日志文件的名字的索引文件的位置,其用來保存可用的二進制日志文件的名字
       (注:二進制日志文件的刪除和一般文件的刪除是不同的,我們可以采用以下的方法
         PURAGE BINARYLOGS BEFORE ‘mysql-bin.00001’清除某個二進制日志文件之前的二進制日志文件
         PURAGE BINARYLOGS BEFORE ‘2011-3-5 23:00:00'清除某個時間點之前的所有二進制日志的記錄
   3、the general query log查詢?nèi)罩荆簩Τ寺槿罩局杏涗浀牟樵冃畔⒍紝⒂涗浵聛?這將對服務(wù)器主機產(chǎn)生大量的壓力,所以對于繁忙的服務(wù)器應(yīng)該關(guān)閉這個日志
       啟用和關(guān)閉的方法:
       在主配置文件中:
       general_log=[ON/OFF]
       log_output=指定存放查詢?nèi)罩镜奈恢茫梢苑旁谖募?,也可以放在?shù)據(jù)庫的表中,放在表中比放在文件中更容易查看
  
   4、the slow query log慢查日志:默認為關(guān)閉狀態(tài),記錄下來查詢時間超過設(shè)定時長的查詢,這些查詢?nèi)罩緦⒈宦槿罩居涗浵聛?br/>        在主配置文件中配置:
       通過long_query_time=num 定義默認的時長,默認時長為10秒
       在配置文件中啟用:
       slow_query_log=ON
       slow_query_log_file= 指定慢查日志的位置及名字
       在mysql中啟用的方法:
       mysql>SET GLOBAL slow_query_log=ON
  
   5、the relay log中繼日志,主要是在mysql服務(wù)器的中從架構(gòu)中的從服務(wù)器上用到的,當(dāng)從服務(wù)器想要和主服務(wù)器進行數(shù)據(jù)的同步時,從服務(wù)器將主服務(wù)器的二進制日志文件拷貝到己的主機上放在中繼日志中,然后調(diào)用SQL線程按照拷中繼日志文件中的二進制日志文件執(zhí)行以便就可達到數(shù)據(jù)的同步。
      開啟的方法:(只在從服務(wù)器上開啟)
      配置mysql的主配置文件:
      relay-log=  指定中繼日志的位置和名字
      relay-log-index=  指定中繼日志的名字的索引文件的位置和名字
     
   6、the ratationg logs 滾動日志,只要是針對二進制日志進行滾動的,對某個類型的日志文件滾動一次就生成一個新的相對應(yīng)的日志文件,通過這種方法保證日志文件的特定大小,從而保證服務(wù)器在對日志文件查詢時有較高的響應(yīng)能力
       滾動二進制日志的命令:FLUSH LOGS
事務(wù)日志和二進制日志文件的區(qū)別:
      兩者都能夠?qū)崿F(xiàn)對數(shù)據(jù)操作的還原,但是前者的還原操作都是有系統(tǒng)自動完成的,不需要也不允許人為進行干預(yù),而后者的恢復(fù)是完全依靠人為進行的。 
 

感謝各位的閱讀!關(guān)于“mysql相關(guān)的日志文件有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向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