Mysql日志

Mysql运维篇–日志文件

一、错误日志

​ 记录MySQL启动及停止时,以及服务器运行过程中发生任何严重错误相关信息

​ 该日志默认开启的,默认存放目录/var/log(根据具体安装路径而定)

文件名:mysqld.log 位置:

show variables like '%log_error%';

二、二进制日志

​ 记录DDL语句和DML语句、在Mysql8版本默认开启二进制日志

**文件名:binlog.000001 位置:

show variables like '%log_bin%';
show variables like '%binlog_format%';
STATEMENT基于SQL语句的记录,对数据进行修改的SQL都会记录其中
ROW基于行的数据记录,记录的是每一行的数据变更(默认)
MXED混合以上两种模式,某些情况下会自动切换为ROW进行记录

修改二进制日志类型:

在配置文件/etc/my.cf中添加以下参数:
binlog_format=STATEMENT

二进制日志文件的查看:

mysqlbinlog [参数选项] logfilename
常用参数:	
		-d	指定数据库名称,只列出指定数据库相关操作
		-v	将行事件重构为SQL语句(ROW)
		-w	将行事件重构为SQL语句,并输出注释信息
		
[root@master data]# mysqlbinlog -uroot -pmysql mysql-bin.000001

ERROR:mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8'
	原因是mysqlbinlog这个工具无法识别binlog中的配置中的default-character-set=utf8这个指令。
解决方法:
	1、修改配置文件:将default-character-set=utf8 修改为 character-set-server = utf8
	2、使用:mysqlbinlog --no-defaults mysql-bin.000004 命令打开

二进制日志文件删除:

Show variables like ‘%binlog_expire%’;
  1. 删除日志之前的所有二进制日志文件:purge binary logs to ‘Log_name’; 会修改index中相关数据。
  2. 清除某个时间点以前的二进制日志文件:purge binary logs before ‘2017-03-10 10:10:00’;
  3. 清除7天前的二进制日志文件:purge master logs before date_sub( now( ), interval 7 day);
  4. 清除所有的二进制日志文件(当前不存在主从复制关系):reset master;
  5. **设置自动清理expire_logs_days参数,其默认值为0,表示不启用过期自动删除功能,**如果启用了自动清理功能,表示超出此天数的二进制日志文件将被自动删除,自动删除工作通常发生在MySQL启动时或FLUSH日志时。

三、查询日志

​ 记录了客户端的所有操作语句,而二进制日志不包含查询数据的SQL语句,默认不开启。

show variables like '%general%';

开启查询日志需修改配置文件,添加

general_log=1
general_log_file=/opt/mysql/mysql-8.0.33/data/localhost.log

四、慢查询日志

​ 记录所有执行时间超过参数long_query_time设置并且扫描记录不小于min_examined_row_limit的所有SQL语句的日志,默认未开启。

slow_query_log=1			#慢查询日志
long_query_time=10			#执行时间参数
log_slow_admin_statements=1		    #记录执行比较慢的管理语句
log_queries_not_using_indexes=1		#记录执行较慢的未使用索引的语句
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值