第14章 日志管理_第1页
第14章 日志管理_第2页
第14章 日志管理_第3页
第14章 日志管理_第4页
第14章 日志管理_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第14章日志管理《MySQL数据库应用教程》刘瑞新主编配套资源目录第14章日志文件14.1MySQL日志简介14.2错误日志文件14.3二进制日志文件14.4通用查询日志文件14.5慢查询日志文件MySQL日志文件分为4种,分别是二进制日志(binarylog)文件、错误日志(errorlog)文件、通用查询日志(general-querylog)文件和慢查询日志(slow-querylog)文件。14.1MySQL日志简介14.2.1查看错误日志查看错误日志的存储路径和文件名SHOWVARIABLESLIKE'datadir';SHOWVARIABLESLIKE'log_error';14.2错误日志文件【例14-1】查看错误日志的存储路径和文件名。14.2错误日志文件2.查看错误日志的内容【例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创建新的错误日志文件创建新的错误日志文件的方法有3种。重新启动MySQL服务会。使用mysqladmin命令:mysqladmin-uroot-pflush-logs也可以执行FLUSHLOGS;14.2错误日志文件【例14-3】创建一个新的错误日志文件。C:\Users\Administrator>mysqladmin-uroot-pflush-logsEnterpassword:******14.2错误日志文件14.3.1查看是否启用了二进制日志使用SHOWVARIABLES语句可以查看二进制日志的开启状态,其语句为: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)创建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.根据编号删除二进制日志文件PURGE{BINARY|MASTER}LOGSTO'filename.number';【例14-10】删除binlog.000003之前的二进制日志文件。1)SHOWBINARYLOGS;14.3二进制日志文件2)PURGEBINARYLOGSTO'binlog.000003';

3)SHOWBINARYLOGS;14.3二进制日志文件2.根据创建时间删除二进制日志文件PURGE{BINARY|MASTER}LOGSBEFORE'yyyy-mm-ddhh:MM:ss';【例14-11】删除2022年6月3日9:53之前创建的二进制日志。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导出二进制日志文件中的内容mysqlbinlog[option]filename.number[>outerFilename|>>outerFilename]例14-13】使用mysqlbinlog命令,查看指定二进制日志文件的内容。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使用二进制日志恢复数据库mysglbinlog[option]filename.number|mysql-uusername-p[password]14.3二进制日志文件完全恢复【例14-15】从二进制日志文件binlog.000003完全恢复数据库。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】使用基于时间点来恢复数据。1)FLUSHLOGS;SHOWBINARYLOGS;14.3二进制日志文件2)准备数据。①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】使用基于位置来恢复数据。1)准备数据。①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查看是否启用了通用查询日志SHOWVARIABLESLIKE'general_log';【例14-18】查看是否启用了通用查询日志。SHOWVARIABLESLIKE'general_log';14.4通用查询日志文件14.4.2设置通用查询日志在配置文件中设置在文件my.ini文件的[mysqld]组中:[mysgld]log-output={NONE|FILE|TABLE|FILE,TABLE}general-log={1|0}general_log_file=[path][filename]14.4通用查询日志文件【例14-19】设置启用通用查询日志,输出日志为文件,保存在d:/mysql_log/general.log。[mysgld]log-output=FILEgeneral-log=1general_log_file="d:/mysql_log/general.log"SHOWVARIABLESLIKE'%general%';14.4通用查询日志文件SHOWVARIABLESLIKE'log_output';14.4通用查询日志文件2.临时修改设置SETGLOBALlog_output={'FLIE'|'TABLE'|'FILE,TABLE'};SETGLOBALgeneral_log_file=[path][filename]SETGLOBALgeneral_log={on|off|1|0};14.4通用查询日志文件【例14-20】临时修改通用查询日志的设置。SETGLOBALlog_output='FILE';SETGLOBALgeneral_log_file='d:/mysql_log/general.log';SETGLOBALgeneral_log=on;SELECT@@global.log_output;SHOWVARIABLESLIKE'log_output';14.4通用查询日志文件14.4.3查看通用查询日志文件中的内容【例14-21】查看通用查询日志文件d:/mysql_log/general.log中的内容。1)USEstudentinfo;SELECT*FROMstudentWHERESex='女';INSERTINTOselectcourse(StudentID,CourseID,Score)VALUES('202270010103','100101',99);2)14.4通用查询日志文件14.4通用查询日志文件14.4.4删除通用查询日志14.4通用查询日志文件14.5.1设置慢查询日志在配置文件中设置[mysgld]log-output={NONE|FILE|TABLE|FILE,TABLE}slow_query_log={1|0}slow_query_log_file[=path/[filename]]long_query_time=n14.5慢查询日志文件【例14-22】设置启用慢查询日志,保存在d:/mysql_log/slow.log,超时为2s。[mysgld]slow_query_log=1slow_query_log_file="d:/mysql_log/slow.log"long_query_time=214.4通用查询日志

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论