Mysql日志

错误日志:记录mysql服务器启动,关闭以及运行错误等信息

二进制日志:已二进制文件的方式记录数据库中除select以外的所有操作(最重要的日志)

查询日志:记录查询的信息

慢查询日志:记录执行时间超过指定时间的操作

中继日志:备库将主库的日志复制到自己的中继日志中(主从复制的时候用到)

通用日志:审计那个账号,在哪个时间做了哪些事情

事务日志或称redo日志:记录innodb事务相关如事务执行时间,检查点

 

 

二进制日志bin-log

启用

Vim /etc/my.cnf   //编辑mysql主配置文件

[mysqld]

Log-bin[=dir\[filename]]   //添加这一行就可以了

 

Service mysqld  restart   //重启mysq进程

 

 

Mysql > set sql_log_bin=0;  //停止

Mysql > set sql_log_bin=0;  //启用   只针对当前会话

 

 

 

查看日志

查看全部:

#Mysqlbinlog mysql.000002

 

按时间查看

#Mysqlbinlog mysql.000002  --start-datetime=2012-12-05 10:02:56

#Mysqlbinlog mysql.000002  --stop-datetime=2012-12-05 11:02:56

#Mysqlbinlog mysql.000002  --start-datetime=2012-12-05 10:02:56  --stop-datetime=2012-12-05 11:02:56

 

按字节数查看

#Mysqlbinlog mysql.000002  --start-position=260

#Mysqlbinlog mysql.000002  --stop-position=260

#Mysqlbinlog mysql.000002  --start-position=260  --stop-position=930

 

截断bin-log (产生新的bin-log文件)两种方法

1)重启mysql服务器

2)#mysql -uroot -p123-e flush logs

 

删除bin-log文件

#mysql -uroot -p123 -e reset master

 

 

通用查询日志

启用

Vim /etc/my.cnf   //编辑mysql主配置文件

[mysqld]

Log[=dir\[filename]]   //添加这一行就可以了

 

Service mysqld  restart   //重启mysq进程

 

慢查询日志

启用

Vim /etc/my.cnf   //编辑mysql主配置文件

[mysqld]

Log-slow-queries[=dir\[filename]]

Long_query_time=n  //添加这两行就可以了

 

Service mysqld  restart   //重启mysq进程

 

查看慢查询日志

测试:benchmark(count,expr)

Select benchmark(5000000000,2*3);   //执行50000000002*3

 

 

总结:mysql日志管理,二进制日志最为重要,使用它可以对数据库基于时间点的恢复,同时二进制日志文件是mysql主从复制的关键