mysql日志

一、mysql日志记录主要用于日常操作和信息的文件,在Mysql当中有4种日志

(1)、二进制日志:以二进制文件的形式记录数据库中,但是不记录查询语句bin_log ——-最重要
记录mysql变化,主从也通过二进制进行同步的。
输出文件名字:mysql-bin.000001
binlog是通过记录二进制文件方式来备份数据,然后在从二进制文件将数据恢复到某一时段或某一操作点。

(2)、错误日志:记录用户登录以及记录查询的信息以及异常信息
slave.err

(3)、慢查询日志:记录执行时间超过指定操作时间。那么就记录
cat slave-slow.log

(4)、通用查询日志:记录用户查询日志以及其它的操作,包括MYSQL启动、关闭,更新、查询等等。
alvin-bin

二、二进制日志分析
(1)二进制日志
启动二进制日志 编辑/etc/my.cnf配置文件
log-bin=mysql-bin

(2)删除掉所有的二进制
>reset master;

(3)、删除某一个范围的二进制日志
>purge master logs to ‘mylog_0000021’ 代表从000001 删除到0000020
mylog_0000021以前的全部删除掉。

(4)、根据创建时间来删除日志
>purge master logs before ‘2013-5-14 16:00:00’ 删除2013-5-14 16:00:00 以前的二进制日志

(5)、mysqlbinlog命令来进行数据恢复,利用日志恢复数据从小到大
mysqlbinlog mylog.000001 | mysql -uroot -pzy123
mysqlbinlog mylog.000002 | mysql -uroot -pzy123
mysqlbinlog mylog.000003 | mysql -uroot -pzy123
mysqlbinlog mylog.000004 | mysql -uroot -pzy123

(6)、暂停二进制功能
>set sql_log_bin=0; 暂停
>set sql_log_bin=1; 启动

三、错误日志分析
(1)错误日志默认是开启来的,一般错误日志成为:hostname.err
hostname代表主机名字
开启错误日志,编辑my.cnf
log-error=master.err

(2)删除错误日志
#mysqladmin -u root -p flush-logs 系统会自动创建一个新的错误日志
通常情况下DBA不需要查看错误日志,但是在Mysql出现异常的时候,DBA可以查询此日志来定位故障

四、通用查询日志
(1)默认情况下,功能日志是关闭的,通过my.cnf开启日志
log=acces.log
用户所有的操作都记录到通用查询日志当中

(2)删除通用查询日志
删除源文件,然后重新生成新的
#rm acces.log && mysqladmin -uroot -p flush-logs

对源文件直接清空
echo > acces.log

五、慢查询日志
慢查询日志用来记录执行时间超过指定的时间时的查询语句
my.cnf配置文件
log-slow-queries=slow.log
long_query_time=n n默认代表10秒,可以自行设置

删除清空慢查询日志
两种方法:
删除源文件,然后重新生成新的
#rm slow.log && mysqladmin -uroot -p flush-logs

对源文件直接清空
echo > slow.log

>show processlist;
kill +id 杀死慢的sql语句进程


mysql日志
http://www.jcwit.com/article/24/
作者
Carlos
发布于
2019年4月2日
许可协议