mysql基础(八)mysql日志
admin
2023-03-21 07:41:11
0
mysql日志类型:
    1、查询日志(通常不会开启,也不建议开启)
    2、慢查询日志(建议开启)
    3、错误日志(建议开启)
    4、二进制日志(建议开启)
    5、中继日志
    6、事务日志(帮助事务型存储引擎完成ACID测试)


	
mysql> SHOW GLOBAL VARIABLES LIKE '%log%';	#查看和日志相关的变量

    查询日志:
    	general_log=ON|OFF			#是否开启查询日志
	general_log_file=PATH			#查询日志文件路径
	log_output=FILE|TABLE|NONE		#输出方式,默认为FILE
		
		
    慢查询日志:执行时长超出指定时长的查询操作
	mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';	#查看超时时长
		
	服务器变量:
	    slow_query_log=ON|OFF	#是否开启慢查询日志
	    log-slow-queries=PATH  	#慢查询日志存储路径,默为HOSTNAME-slow.log
	    log_output=FILE|TABLE	#输出方式,默认为FILE
		
	mysqldumpslow		#慢查询日志分析工具
	

    错误日志:
	1、记录mysql启动和关闭过程中产生的事件信息
	2、记录mysql运行过程中产生的错误信息
	3、在主从架构中,从服务器上启动从服务器线程产生的信息
		
	服务器变量:
	    log_error=OFF|ON|PATH      #启动错误日志,如果不指定错误日志位置将使用默认位置
	    log_warnings=0|1	       #是否记录警告信息

			
	
       二进制日志:记录导致数据改变或者有可能导致数据发生改变的SQL语句
        功能:用于实现通过"重放"日志文件中的事件来生成数据副本
		
	    mysql> SHOW MASTER LOGS;		#查看可使用的二进制日志文件列表
	    mysql> SHOW MASTER STATUS;	#查看正在使用的二进制日志文件
	    mysql> SHOW BINLOG EVENTS;	#查看二进制日志文件内容

	    服务器变量:
	      sql_log_bin=OFF|ON	#是否开启二进制日志
	      log_bin=OFF|ON		#是否开启二进制日志,必须同时启用才能生效
	      binlog_format=STATEMENT|ROW|MIXED		#二进制日志格式
	      max_binlog_size=			#单个二进制文件最大大小
	            1、到达最大大小时自动滚动	  2、重启后自动滚动
	      sync_binlog=0|1			#是否同步写入,默认为异步写入
		    1、同步写入会影响服务器性能	  2、异步写入可能会造成数据丢失
				
	    二进制文件格式:
	    基于语句的记录:STATEMENT
		    优点:在相同体积下记录的数据更多
		    缺点:不能保证回放的数据和源数据完全相同
	       如:mysql> INSERT INTO test VALUE(1,now());#每一次获取的系统时间都不相同
			
			基于行(数据)的记录:ROW
			    优点:能保证回放的数据和源数据基本相同
			    缺点:在相同体积下记录的数据更少
		        混合模式:MIXED,由系统判定基于那种方式进行存储
		
	    二进制文件的构成:
	        日志文件:mysql-bin.00000X	#二进制文件
	        索引文件:mysql-bin.index	#保存当前可用的二进制日志文件列表
		
	    二进制日志事件的格式:
		mysqlbinlog		#二进制文件分析工具
		    使用格式:mysqlbinlog [--start-position=事件开始位置] 二进制日志文件
		    例:mysqlbinlog mysql-bin.000003

		#at 655
		#170220  8:33:37  server  id 1  end_log_pos 731  Query  thread_id=12  exec_time=0  error_code=0
		SET TIMESTAMP=1487550817/*!*/;
		BEGIN
		/*!*/;

		事件的起始位置:at 655
		事件发生的时间:170220  8:33:37
		server id 1:server id,在做mysql集群时必须保证server id全局唯一
		事件的结束位置:end_log_pos 731
		事件的类型:Query
		事件发生时所在服务器执行此事件的线程ID:thread_id=12
		语句执行和将其写入二进制日志中的时间差
		错误代码:error_code


    中继日志:主从架构中实现主从复制的从服务日志,主要用于保存从二进制日志文件中读取事件

	
    事务日志:
	由事务型存储自行管理和使用


    清理日志:
	PURGE BINARY LOGS TO 'mysql-bin.010';	#清除指定日志之前的二进制日志
	PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';  #清除指定时间之前的二进制日志


相关内容

热门资讯

国家体育总局:关注运动员赛场表... 国家体育总局有关部门负责人近日表示,近期,我们关注到全国多地出现通过商场大屏照片投放、线下粉丝聚集应...
华为坤灵代理商选型指南:重庆五... 导语:在数字化转型加速的当下,企业网络基础设施的稳定性与适配性直接影响业务效率。以华为坤灵系列产品为...
马里中部新一波极端武装袭击致数... 马里中部9日发生多起武装袭击,造成数十人死亡。一名消息人士表示,当地局势“令人担忧”。据悉,一个关联...
第四代自主超导量子计算机“本源... 来源:市场资讯 (来源:贝壳财经) 新京报贝壳财经讯(记者程子姣)5月9日,据本源量子官方公众号,本...
“AI赋能智能制造:大模型时代... 为深入贯彻落实工业和信息化部“人工智能+制造”专项行动,服务黑龙江省“数字龙江”战略与老工业基地振兴...
工业和信息化部启动人工智能科技... 据工业和信息化部5月9日消息,近日,工业和信息化部印发通知,正式启动人工智能科技伦理审查与服务先导计...
涉疫邮轮抵达西班牙:乘客如何下... 澎湃新闻记者 南博一据新华社报道,当地时间5月10日凌晨,涉汉坦病毒疫情邮轮“洪迪厄斯”号已在西班牙...
汉坦病毒邮轮疫情“零号病人”身... 据美媒《新闻周刊》报道,荷兰鸟类学家利奥·希尔佩鲁德 (Leo Schilperoord)在4月份南...
县交警队长被举报工作日KTV饮... “公安干警有禁酒令要求,工作日不允许饮酒,也不能进入经营性娱乐场所。我认为,他违规违纪了。”一名不愿...
学习新语·政绩观|“愚公”治山... 统筹:郭洁宇 朱旭东设计:殷哲伦新华社新媒体中心新华社出品