为什么要开启数据库的日志
当多个程序都在使用数据库的时候,我们的数据库有时候居然还会挂掉,想找原因?发现没日志可查,各个程序自己的日志又不能找到关键原因。所以要开启数据库的日志系统。
控制日志大小
要开日志前提是要知道怎么控制日志的大小,这是一般日志都要面临的第一个问题,否则不知道哪天把文件系统撑爆,同样蛋碎。
expire_logs_day=3:日志保存天数,超过三天的日志将自动删除
如何知道MySQL有没有开日志?
执行下面的语句查看:
show variables like 'log_%';
开启日志的方法
修改数据库配置
为OFF则未开启,如果要开启可以在Mysql根目录下的 my.ini文件里面添加下面的配置信息(注意要添加到[mysqld]里面
log-error="d:/log/mysql/mysql_log_err.txt" log="d:/log/mysql/mysql_log.txt" #log-bin="d:/log/mysql/mysql_log_bin" log-slow-queries="d:/log/mysql/mysql_log_slow.txt"
说明:
log:开启查询日志,这个会记录Sql查询的每一个动作及明细,非常消耗数据库的IO,只有在调试的时候短时间开启, 平时是不建议开启的。
log-error:错误日志
log-bin:二进制日志
log-slow-queries:慢查询日志,记录那些查询时间超过ong_query_time定义的秒数的查询语句才会记录到此变量指定的日志文件中。
long_query_time=5:中的5表示查询超过五秒才记录到log-slow-queries指定的日志中.
expire_logs_day=3:日志保存天数,超过三天的日志将自动删除
重启Mysql服务
查看日志服务是否开启
可以看到日志服务以启动
查看日志文件
可以看到生成的日志文件
查看日志
可以看到你刚才对数据库的操作都在日志文件中有记录
注意
- 路径不要有空格
- 反斜杠最好用Linux下面的路径写法
- 不要的用#号写在一行开始表示注释
设置日志的大小
你一定不希望日志实时打印,把你的文件系统搞挂掉
Linux下日志的配置参考:http://www.blogjava.net/dongbule/archive/2010/09/04/331050.html点击打开链接
时间: 2024-10-29 19:10:10