四类日志:

1.错误日志 记录mysql服务器 启动  允许 停止出现的问题

2.查询日志 记录建立的客户端连接和执行的语句

3.二进制日志  记录所有更改数据的语句,可以用于数据复制

4.慢查询日志  记录所有执行时间超过 long_query_time 的所有查询或不使用索引的查询

1.刷新日志

flush logs 或 mysqladmin flush-logs 或者 mysqladmin refresh 时 将刷新日志

2.启用和设置二进制日志

my.cnf 配置:

[mysqld]

logs-bin [=path/[filename]]

expire_logs_days=10

max_binlog_size=100M

logs-bin指定存放路径  expire_logs_days保存的binlog的天数 默认为0 永久  max_binlog_size单个日志文件大小(不能大于1G 默认为1G)

3.查看binlog日志

show binary logs;

查看binlog日志个数和文件名字

mysqlbinlog path

使用mysqlbinlog 查看二进制文件

4.删除二进制日志

reset master;

删除之后会从新从000001开始编号

purge {master|binary} logs to 'log_name'  

删除比指定文件名编号小的所有日志文件

purge {master|binary} logs before 'date'

删除指定日期以前的所有日志文件

5.使用二进制日志还原数据库

mysqlbinlog [option] filename|mysql -uuser -ppass

重要的2个option:

--start-date --stop-date (指定恢复数据的起始时间和结束时间)

--start-position --stop-position (指定恢复数据的开始位置和结束位置)

6.暂时停止binlog日志功能

set sql_log_bin={0|1}   0暂停 1启用


7.启用和设置错误日志

[mysqld]

log-error[=path/[filename]]

8.启用和设置通用查询日志

[mysqld]

log[=path/[filename]]

9.启用和设置慢查询日志

[mysqld]

log-slow-queries[=path/[filename]]

long_query_time=n