首页 > 代码库 > mysql日志

mysql日志

一、mysql日志记录主要用于日常操作和信息的文件,在Mysql当中有4种日志
(1)、二进制日志:以二进制文件的形式记录数据库中,但是不记录查询语句 
记录mysql变化,主从也通过二进制进行同步的。
输出文件名字:mysql-bin.000001 
(2)、错误日志:记录用户登录以及记录查询的信息以及异常信息
slave.err

(3)、慢查询日志:记录执行时间超过指定操作时间。那么就记录
 cat slave-slow.log
 
(4)、通用查询日志:用户查询日志以及其它的操作,包括MYSQL启动、关闭,更新、查询等等。
alvin-bin

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

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

(3)、删除某一个范围的二进制日志
purge master logs to ‘mylog_0000021‘ 代表从000001删除到0000021

(4)、根据创建时间来删除日志
purge master logs to ‘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)、暂停二进制功能
mysql->set sql_log_bin=0; 暂停
mysql->set sql_log_bin=1; 启动


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

(2)删除错误日志
mysqladmin -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


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

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

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