当你在在linux 中安装了mysql以后,难免会出现一些问题,例如当你Mysql出现启动,停止的时候出现的错误,查看mysql执行语句,或者是当优化mysql需要查找需要优化语句。这个时候,日志的作用就提现了。
下面有一些日志得设置和他的作用。
1.错误日志:记录启动、运行或停止时出现的问题,一般也会记录警告日志
2.一般查询日志:记录建立的客户端链接和执行的语句
3.慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询,可以帮我们定位服务器性能问题
4.二进制日志:任何引起或可能引起数据库变化的操作,主要用于备份和即时点恢复
5.事务日志:记录InnoDB等支持事务的存储引擎执行事务时产生的日志
错误日志1.错误日志
错误日志是一个文本文件。
错误日志记录了MySQL Server每次启动和关闭的详细信息以及运行过程中所有较为严重的警告和错误信息。
因为mysql 每次重启都会加载my.cnf ,为了长期有效,可以直接在配置中设置
错误日志2.一般查询日志
一般查询该查询用来记录建立的客户端链接和执行的语句,说白了就是,你每一句执行得mysql语句都会记录
3.慢查询日志
慢查询// 开启慢查询
slow_query_log = on
// 设置慢查询时间 1 s
long_query_time=1
// 慢查询日志保存路径
slow_query_log_file="
// 开启 记录没有使用索引查询语句
log-queries-not-using-indexes = on
4.二进制日志
用来记录操作MySQL数据库中的写入性操作(增删改,但不包括查询),相当于sqlserver中的完整恢复模式下的事务日志文件。
1,用于复制,配置了主从复制的时候,主服务器会将其产生的二进制日志发送到slave端,slave端会利用这个二进制日志的信息在本地重做,实现主从同步
2,用户恢复,MySQL可以在全备和差异备份的基础上,利用二进制日志进行基于时间点或者事物Id的恢复操作。原理雷同于主从复制的日志重做。
开启二进制日志,需要指定一个log-bin参数的路径,比如:log_bin=/var/lib/mysql/mysql-bin
开始二进制日志之后会自动生成一个管理二进制日志的log_bin_index文件。log_bin选项也显示为on,也即开启了二进制日志。
二进制日志有三种模式,基于语句(statement)的,基于行的(row),以及结合前两者的混合模式(mixed)
基于行的二进制日志模式解决了基于语句的一些缺陷,但是某些情况下回产生大量的日志,比如一个update操作更新了100W行数据,如果是基于行的二进制日志,结果就是产生了100W条日志
基于混合模式的,结合上述两种方式的优点。
可以在配置文件中设置:binlog_format = MIXED
5.事务日志
https://www.jb51.net/article/27069.htm
事务日志就不具体介绍了,该网址中介绍的很详细,我就不复制了。
关于一般查询,测试阶段可以开启,用来查看mysql语句,因为查询日志纪录了所有数据库的操作,因此对于访问频繁的应用,该日志会对系统性能造成一定影响,通常建议关闭此日志。
网友评论