第14章 日志管理_第1頁
第14章 日志管理_第2頁
第14章 日志管理_第3頁
第14章 日志管理_第4頁
第14章 日志管理_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第14章日志管理《MySQL數(shù)據(jù)庫應用教程》劉瑞新主編配套資源目錄第14章日志文件14.1MySQL日志簡介14.2錯誤日志文件14.3二進制日志文件14.4通用查詢?nèi)罩疚募?4.5慢查詢?nèi)罩疚募﨧ySQL日志文件分為4種,分別是二進制日志(binarylog)文件、錯誤日志(errorlog)文件、通用查詢?nèi)罩荆╣eneral-querylog)文件和慢查詢?nèi)罩荆╯low-querylog)文件。14.1MySQL日志簡介14.2.1查看錯誤日志查看錯誤日志的存儲路徑和文件名SHOWVARIABLESLIKE'datadir';SHOWVARIABLESLIKE'log_error';14.2錯誤日志文件【例14-1】查看錯誤日志的存儲路徑和文件名。14.2錯誤日志文件2.查看錯誤日志的內(nèi)容【例14-2】使用記事本查看MySQL錯誤日志。14.2錯誤日志文件14.2.2設置錯誤日志my.ini文件:[mysqld]log-error[=path/[filename]]14.2錯誤日志文件14.2.3刪除錯誤日志文件用“文件資源管理器”刪除錯誤日志文件或者改為其他文件名。14.2錯誤日志文件14.2.4創(chuàng)建新的錯誤日志文件創(chuàng)建新的錯誤日志文件的方法有3種。重新啟動MySQL服務會。使用mysqladmin命令:mysqladmin-uroot-pflush-logs也可以執(zhí)行FLUSHLOGS;14.2錯誤日志文件【例14-3】創(chuàng)建一個新的錯誤日志文件。C:\Users\Administrator>mysqladmin-uroot-pflush-logsEnterpassword:******14.2錯誤日志文件14.3.1查看是否啟用了二進制日志使用SHOWVARIABLES語句可以查看二進制日志的開啟狀態(tài),其語句為:SHOWVARIABLESLIKE'log_bin';【例14-4】查看是否啟用了二進制日志。SHOWVARIABLESLIKE'log_bin';14.3二進制日志文件14.3.2查看日志文件保存的位置SHOWVARIABLESLIKE'datadir';【例14-5】查看二進制日志文件保存的位置。SHOWVARIABLESLIKE'datadir';14.3二進制日志文件14.3.3設置二進制日志log-bin選項在[mysqld]組中,語法格式為:[mysqld]log-bin[=path[filename]]expire_logs_days=10max_binlog_size=100M14.3二進制日志文件【例14-6】配置my.ini文件,啟用二進制日志,并把二進制日志文件保存到d:/mysql_log,文件名為binlog。1)創(chuàng)建d:/mysql_log。2)瀏覽到C:/ProgramData/MySQL/MySQLServer8.0,用記事本打開my.ini文件。打開my.ini文件。3)在[mysqld]組中添加選項如下。[mysqld]log-bin="d:/mysql_log/binlog"expire_logs_days=5max_binlog_size=100M4)重啟MySQL服務進程。14.3二進制日志文件14.3.4查看二進制日志設置SHOWVARIABLESLIKE'log_bin%';【例14-7】使用SHOWVARIABLES語句查詢二進制日志的設置。SHOWVARIABLESLIKE'log_bin%';14.3二進制日志文件14.3.5生成新的與查看當前的二進制日志文件生成新的二進制文件FLUSHLOGS;2.查看當前正在寫入的二進制日志文件SHOWMASTERSTATUS;14.3二進制日志文件【例14-8】生成新的二進制文件,查看當前正在寫入的二進制日志文件。在NavicatforMySQL的命令列界面中運行。1)FLUSHLOGS;FLUSHLOGS;FLUSHLOGS;FLUSHLOGS;

2)SHOWMASTERSTATUS;14.3二進制日志文件14.3.6查看所有的二進制日志文件SHOW{BINARY|MASTER}LOGS;【例14-9】列出當前服務器中所有的二進制日志文件。SHOWBINARYLOGS;14.3二進制日志文件14.3.7刪除二進制日志文件1.根據(jù)編號刪除二進制日志文件PURGE{BINARY|MASTER}LOGSTO'filename.number';【例14-10】刪除binlog.000003之前的二進制日志文件。1)SHOWBINARYLOGS;14.3二進制日志文件2)PURGEBINARYLOGSTO'binlog.000003';

3)SHOWBINARYLOGS;14.3二進制日志文件2.根據(jù)創(chuàng)建時間刪除二進制日志文件PURGE{BINARY|MASTER}LOGSBEFORE'yyyy-mm-ddhh:MM:ss';【例14-11】刪除2022年6月3日9:53之前創(chuàng)建的二進制日志。PURGEBINARYLOGSBEFORE'2022-6-39:53:00';14.3二進制日志文件3.刪除所有二進制日志文件RESETMASTER;14.3二進制日志文件14.3.8查看二進制日志的使用情況SHOWBINLOGEVENTS[IN'filename.number'][FROMpos][LIMIT[offset,]row_count];14.3二進制日志文件例如,下面查看語句。SHOWBINLOGEVENTS;SHOWBINLOGEVENTSIN'binlog.000003';SHOWBINLOGEVENTSIN'binlog.000003'FROM234;SHOWBINLOGEVENTSIN'binlog.000003'FROM234LIMIT10;SHOWBINLOGEVENTSIN'binlog.000003'FROM234LIMIT2,10;14.3二進制日志文件【例14-12】查看二進制日志文件binlog.000002,從234位置開始,顯示5條。SHOWBINLOGEVENTSIN'binlog.000002'FROM234LIMIT5;14.3二進制日志文件14.3.9導出二進制日志文件中的內(nèi)容mysqlbinlog[option]filename.number[>outerFilename|>>outerFilename]例14-13】使用mysqlbinlog命令,查看指定二進制日志文件的內(nèi)容。1)FLUSHLOGS;SHOWBINARYLOGS;14.3二進制日志文件①CREATEDATABASEtemp_test;②FLUSHLOGS;SHOWBINARYLOGS;③USEtemp_test;CREATETABLEtest(tidINT,tnameCHAR(10));INSERTINTOtest(tid,tname)VALUES(1,'aa'),(2,'bb'),(3,'cc');14.3二進制日志文件④FLUSHLOGS;SHOWBINARYLOGS;⑤DELETEFROMtest;3)C:\Users\Administrator>mysqlbinlog"d:/mysql_log/binlog.000003"14.3二進制日志文件14.3二進制日志文件【例14-14】使用mysqlbinlog命令,把指定的二進制日志文件導出為一個文本文件。C:\Users\Administrator>mysqlbinlog"d:/mysql_log/binlog.000004">"d:/bin-004.txt"14.3二進制日志文件14.3.10使用二進制日志恢復數(shù)據(jù)庫mysglbinlog[option]filename.number|mysql-uusername-p[password]14.3二進制日志文件完全恢復【例14-15】從二進制日志文件binlog.000003完全恢復數(shù)據(jù)庫。1)USEtemp_test;DROPTABLEtest;2)C:\Users\Administrator>mysqlbinlog"d:/mysql_log/binlog.000003"|mysql-uroot-pEnterpassword:******3)SELECT*FROMtest;14.3二進制日志文件2.基于時間點的恢復【例14-16】使用基于時間點來恢復數(shù)據(jù)。1)FLUSHLOGS;SHOWBINARYLOGS;14.3二進制日志文件2)準備數(shù)據(jù)。①USEtemp_test;INSERTINTOtest(tid,tname)VALUES(555,'eee'),(666,'fff'),(777,'ggg');②DELETEFROMtestWHEREtid='2';DELETEFROMtestWHEREtid='555';14.3二進制日志文件③INSERTINTOtest(tid,tname)VALUES(888,'hhh');SELECT*FROMtest;④FLUSHLOGS;14.3二進制日志文件①C:\Users\Administrator>mysqlbinlog"d:/mysql_log/binlog.000006">"d:/bin-006.txt"②14.3二進制日志文件14.3二進制日志文件4)C:\Users\Administrator>mysqlbinlog--stop-datetime="2022-06-0510:14:08""d:/mysql_log/binlog.000006"|mysql-uroot-pEnterpassword:******5)SELECT*FROMtest;14.3二進制日志文件INSERTINTOtest(tid,tname)VALUES(555,'eee'),(666,'fff'),(777,'ggg');5)C:\Users\Administrator>mysqlbinlog--start-datetime="2022-06-0510:27:03""d:/mysql_log/binlog.000006"|mysql-uroot-pEnterpassword:******14.3二進制日志文件6)SELECT*FROMtest;INSERTINTOtest(tid,tname)VALUES(888,'hhh');14.3二進制日志文件3.基于位置的恢復【例14-17】使用基于位置來恢復數(shù)據(jù)。1)準備數(shù)據(jù)。①FLUSHLOGS;SHOWBINARYLOGS;②USEtemp_test;DELETEFROMtest;14.3二進制日志文件C:\Users\Administrator>mysqlbinlog--start-position=316--stop-position=472"d:/mysql_log/binlog.000006"|mysql-uroot-pEnterpassword:******5)SELECT*FROMtest;14.3二進制日志文件2)USEtemp_test;INSERTINTOtest(tid,tname)VALUES(555,'eee'),(666,'fff'),(777,'ggg');14.3二進制日志文件14.3.11暫時停止二進制日志功能1.臨時暫停二進制日志SETsql_log_bin={0|1};14.3二進制日志文件2.關閉二進制日志在my.ini文件中的[mysqld]中添加下面選項:[mysqld]disable-log-bin或skip-log-bin14.3二進制日志文件14.3.12二進制日志的三種格式1.STATEMENT模式(SBR)2.ROW模式(RBR)3.MIXED模式(MBR)14.3二進制日志文件14.4.1查看是否啟用了通用查詢?nèi)罩維HOWVARIABLESLIKE'general_log';【例14-18】查看是否啟用了通用查詢?nèi)罩尽HOWVARIABLESLIKE'general_log';14.4通用查詢?nèi)罩疚募?4.4.2設置通用查詢?nèi)罩驹谂渲梦募性O置在文件my.ini文件的[mysqld]組中:[mysgld]log-output={NONE|FILE|TABLE|FILE,TABLE}general-log={1|0}general_log_file=[path][filename]14.4通用查詢?nèi)罩疚募纠?4-19】設置啟用通用查詢?nèi)罩?,輸出日志為文件,保存在d:/mysql_log/general.log。[mysgld]log-output=FILEgeneral-log=1general_log_file="d:/mysql_log/general.log"SHOWVARIABLESLIKE'%general%';14.4通用查詢?nèi)罩疚募HOWVARIABLESLIKE'log_output';14.4通用查詢?nèi)罩疚募?.臨時修改設置SETGLOBALlog_output={'FLIE'|'TABLE'|'FILE,TABLE'};SETGLOBALgeneral_log_file=[path][filename]SETGLOBALgeneral_log={on|off|1|0};14.4通用查詢?nèi)罩疚募纠?4-20】臨時修改通用查詢?nèi)罩镜脑O置。SETGLOBALlog_output='FILE';SETGLOBALgeneral_log_file='d:/mysql_log/general.log';SETGLOBALgeneral_log=on;SELECT@@global.log_output;SHOWVARIABLESLIKE'log_output';14.4通用查詢?nèi)罩疚募?4.4.3查看通用查詢?nèi)罩疚募械膬?nèi)容【例14-21】查看通用查詢?nèi)罩疚募:/mysql_log/general.log中的內(nèi)容。1)USEstudentinfo;SELECT*FROMstudentWHERESex='女';INSERTINTOselectcourse(StudentID,CourseID,Score)VALUES('202270010103','100101',99);2)14.4通用查詢?nèi)罩疚募?4.4通用查詢?nèi)罩疚募?4.4.4刪除通用查詢?nèi)罩?4.4通用查詢?nèi)罩疚募?4.5.1設置慢查詢?nèi)罩驹谂渲梦募性O置[mysgld]log-output={NONE|FILE|TABLE|FILE,TABLE}slow_query_log={1|0}slow_query_log_file[=path/[filename]]long_query_time=n14.5慢查詢?nèi)罩疚募纠?4-22】設置啟用慢查詢?nèi)罩荆4嬖赿:/mysql_log/slow.log,超時為2s。[mysgld]slow_query_log=1slow_query_log_file="d:/mysql_log/slow.log"long_query_time=214.4通用查詢?nèi)罩?/p>

溫馨提示

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

評論

0/150

提交評論