2023學(xué)年完整公開課版MySQL支持的日志_第1頁
2023學(xué)年完整公開課版MySQL支持的日志_第2頁
2023學(xué)年完整公開課版MySQL支持的日志_第3頁
2023學(xué)年完整公開課版MySQL支持的日志_第4頁
2023學(xué)年完整公開課版MySQL支持的日志_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

主講教師:魏巍巍北京信息職業(yè)技術(shù)學(xué)院數(shù)據(jù)庫技術(shù)與應(yīng)用MySQL支持的日志創(chuàng)建采集任務(wù)01MySQL支持的日志01目錄CONTENTS數(shù)據(jù)庫01Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.日志是mysql數(shù)據(jù)庫的重要組成部分。日志文件中記錄著mysql數(shù)據(jù)庫運(yùn)行期間發(fā)生的變化;也就是說用來記錄mysql數(shù)據(jù)庫的客戶端連接狀況、SQL語句的執(zhí)行情況和錯誤信息等。當(dāng)數(shù)據(jù)庫遭到意外的損壞時,可以通過日志查看文件出錯的原因,并且可以通過日志文件進(jìn)行數(shù)據(jù)恢復(fù)。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.MySQL中,日志可以按照功能分為如下幾類:錯誤日志中繼日志Innodb存儲引擎級別的事務(wù)日志二進(jìn)制日志慢查詢?nèi)罩静樵內(nèi)罩綧ySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.錯誤日志在mysql數(shù)據(jù)庫中,錯誤日志功能是默認(rèn)開啟的。并且,錯誤日志無法被禁止。默認(rèn)情況下,錯誤日志存儲在mysql數(shù)據(jù)庫的數(shù)據(jù)文件中。錯誤日志文件通常的名稱為hostname.err。其中,hostname表示服務(wù)器主機(jī)名。錯誤日志信息可以自己進(jìn)行配置的,錯誤日志所記錄的信息是可以通過log-error和log-warnings來定義的,其中l(wèi)og-err是定義是否啟用錯誤日志的功能和錯誤日志的存儲位置,log-warnings是定義是否將警告信息也定義至錯誤日志中。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.錯誤日志默認(rèn)情況下錯誤日志大概記錄以下幾個方面的信息:服務(wù)器啟動和關(guān)閉過程中的信息(未必是錯誤信息,如mysql如何啟動InnoDB的表空間文件的、如何初始化自己的存儲引擎的等等)、服務(wù)器運(yùn)行過程中的錯誤信息、事件調(diào)度器運(yùn)行一個事件時產(chǎn)生的信息、在從服務(wù)器上啟動服務(wù)器進(jìn)程時產(chǎn)生的信息。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.一般而言,日志級別的定義沒有會話變量都只是在全局級別下進(jìn)行定義。其中,log_error可以直接定義為文件路徑,也可以為ON|OFF;log_warings只能使用1|0來定義開關(guān)啟動。SHOWGLOBALVARIABLESLIKE'%log%';MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.中繼日志日志的作用:中繼日志是在MySQL進(jìn)行主從復(fù)制時使用的一種日志,是從主服務(wù)器的二進(jìn)制日志文件中復(fù)制到從服務(wù)器,并保存為的日志文件。相關(guān)的變量:log_slave_updates:用于設(shè)定復(fù)制場景中的從服務(wù)器是否將從主服務(wù)器收到的更新操作記錄進(jìn)本機(jī)的二進(jìn)制日志中。本參數(shù)設(shè)定的生效需要在從服務(wù)器上啟用二進(jìn)制日志功能。relay_log=file_name:設(shè)定中繼日志的文件名稱,默認(rèn)為host_name-relay-bin。也可以使用絕對路徑,以指定非數(shù)據(jù)目錄來存儲中繼日志。作用范圍為全局級別,可用于選項文件屬非動態(tài)變量。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.中繼日志相關(guān)的變量:relay_log_index=file_name:設(shè)定中繼日志的索引文件名,默認(rèn)為數(shù)據(jù)目錄中的host_name-relay-bin.index。作用范圍為全局級別,可用于選項文件,屬非動態(tài)變量。relay-log-info-file=file_name:設(shè)定中繼服務(wù)用于記錄中繼信息的文件,默認(rèn)為數(shù)據(jù)目錄中的。作用范圍為全局級別,可用于選項文件,屬非動態(tài)變量。relay_log_purge={ON|OFF}:設(shè)定對不再需要的中繼日志是否自動進(jìn)行清理。默認(rèn)值為ON。作用范圍為全局級別,可用于選項文件,屬動態(tài)變量。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.中繼日志相關(guān)的變量:relay_log_space_limit=#:設(shè)定用于存儲所有中繼日志文件的可用空間大小。默認(rèn)為0,表示不限定。最大值取決于系統(tǒng)平臺位數(shù)。作用范圍為全局級別,可用于選項文件,屬非動態(tài)變量。max_relay_log_size={4096..1073741824}:設(shè)定從服務(wù)器上中繼日志的體積上限,到達(dá)此限度時其會自動進(jìn)行中繼日志滾動。此參數(shù)值為0時,mysqld將使用max_binlog_size參數(shù)同時為二進(jìn)制日志和中繼日志設(shè)定日志文件體積上限。作用范圍為全局級別,可用于配置文件,屬動態(tài)變量。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.事務(wù)日志日志的作用:事務(wù)日志是InnoDB存儲引擎特有的日志,主要分為重做日志(redo)和回滾日志(undo)。事務(wù)日志文件名為"ib_logfile0"和“ib_logfile1”,默認(rèn)存放在表空間所在目錄。存儲引擎在修改表數(shù)據(jù)時只需修改其內(nèi)存拷貝,再把修改行為記錄到持久硬盤上的事務(wù)日志中,而不必將修改的數(shù)據(jù)持久到磁盤。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.事務(wù)日志事務(wù)日志寫操作是磁盤某區(qū)域內(nèi)的順序IO,不需要多次尋址,因此效率相對較高。事務(wù)日志持久化后,內(nèi)存中被修改的數(shù)據(jù)在后臺可以慢慢的刷回磁盤,因此修改數(shù)據(jù)需要寫兩次磁盤。MySQL在崩潰后,重啟服務(wù),InnoDB通過回滾日志undo將所有已完成并寫入磁盤的未完成事務(wù)進(jìn)行rollback,然后redo中的事務(wù)全部重新執(zhí)行一遍即可恢復(fù)數(shù)據(jù),但是隨redo的量增加,每次從redo的第一條開始恢復(fù)就會浪費(fèi)長的時間,所以引入了checkpoint機(jī)制。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.事務(wù)日志相關(guān)的變量:innodb_log_group_home_dir=/PATH/TO/DIR:設(shè)定InnoDB重做日志文件的存儲目錄。在缺省使用InnoDB日志相關(guān)的所有變量時,其默認(rèn)會在數(shù)據(jù)目錄中創(chuàng)建兩個大小為5MB的名為ib_logfile0和ib_logfile1的日志文件。作用范圍為全局級別,可用于選項文件,屬非動態(tài)變量。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.innodb_log_file_size={108576..4294967295}:設(shè)定日志組中每個日志文件的大小,單位是字節(jié),默認(rèn)值是5MB。較為明智的取值范圍是從1MB到緩存池體積的1/n,其中n表示日志組中日志文件的個數(shù)。日志文件越大,在緩存池中需要執(zhí)行的檢查點刷寫操作就越少,這意味著所需的I/O操作也就越少,然而這也會導(dǎo)致較慢的故障恢復(fù)速度。作用范圍為全局級別,可用于選項文件,屬非動態(tài)變量。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.事務(wù)日志相關(guān)的變量:innodb_log_files_in_group={2..100}:

設(shè)定日志組中日志文件的個數(shù)。InnoDB以循環(huán)的方式使用這些日志文件。默認(rèn)值為2。作用范圍為全局級別,可用于選項文件,屬非動態(tài)變量。innodb_log_buffer_size={262144..4294967295}:

設(shè)定InnoDB用于輔助完成日志文件寫操作的日志緩沖區(qū)大小,單位是字節(jié),默認(rèn)為8MB。較大的事務(wù)可以借助于更大的日志緩沖區(qū)來避免在事務(wù)完成之前將日志緩沖區(qū)的數(shù)據(jù)寫入日志文件,以減少I/O操作進(jìn)而提升系統(tǒng)性能。因此,在有著較大事務(wù)的應(yīng)用場景中,建議為此變量設(shè)定一個更大的值。作用范圍為全局級別,可用于選項文件,屬非動態(tài)變量。MySQL支持的日志Copyright?2017,Oracleand/oritsaffiliates.Allrightsreserved.事務(wù)日志相關(guān)的變量:innodb_flush_log_at_trx_commit=1:表示有事務(wù)提交后,不會讓事務(wù)先寫進(jìn)buffer,再同步到事務(wù)日志文件,而是一旦有事務(wù)提交就立刻寫進(jìn)事務(wù)日志,并且還每隔1秒鐘也會把buffer里的數(shù)據(jù)同步到文件,這樣IO消耗大,默認(rèn)值是"1",可修改為“2”innodb_locks_unsafe_for_binlog=OFF:這個變量建議保持OFF狀態(tài),i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論