日志

一、apache日志

apache日志存放位置

Windows: <Apache安装目录>\logs\access.log | error.log

 Linux:  /usr/local/apache/logs/access_log | error_log

在apache的配置文件httpd.conf中找到
ErrorLog logs/error_log
CustomLog logs/access_log common

二、mysql日志

Mysql常用日志类型及场景。

(1)常用日志类型

  • 错误日志(error-log):记录mysql在启动、运行和停止时出现的问题诊断分析。
  • 常规日志(general_log):记录所有mysql客户端发向mysql服务器的请求。包括连接请求、数据库操作请求以及一些管理命令,无论请求是否成功都会记录在这个日志中,可想如果是一个繁忙的业务系统场景,这个日志会很大,所以开启这个日志会对数据库服务器性能会有一定的影响,在业务系统中用完一定要记得关掉和清理这个日志中的内容。
  • 慢查询日志(slow_query_log):记录符合条件的查询。
  • 二进制日志(binary_log):记录全部有效的数据修改日志。
  • 中继日志(relay_log):用于主从复制,临时存储从主库同步的二进制日志。

(2)各种日志的配置和使用场景

  ①错误日志(error-log):a.分析排查mysql运行错误;b.记录未经授权的访问。

 

  log_error=$mysql/sql_log/mysql-error.log
  log_error_verbosity=[1,2,3]   5.7新增  错误日志中记录错误信息的级别;
>select @@log_error_verbosity;
注释:
1:Error messages
2:Error and warning messages
3:Error,waring and note message

 

  log_error_services=[日志服务组件;日志服务组件] 8.0新增  

常用错误日志的服务组件:

1

2

3

4

log_filter_internal: 默认的日志过滤组件,依赖log_error_verbosity

log_sink_internal:   默认的日志输出组件,依赖log_error

log_sink_json:       将错误日志输出到json文件

log_sink_syseventlog:将错误日志输出到系统日志文件

  log_timestamps: 这个参数主要是控制 error log、slow_log、genera log,等等记录日志的显示时间参数,但不会影响 general log 和 slow log 写到表 (mysql.general_log, mysql.slow_log) 中的显示时间,该参数全局有效,可以被设置的值有:UTC 和 SYSTEM,默认使用 UTC。它还支持动态设置,不过建议大家在配置文件中就写上,以免重启之后造成不必要的麻烦。

1

2

>select @@log_timestamps;

>set GLOBAL log_timestamps = SYSTEM

  ②常规日志(general_log): 分析客户端发送到mysql的实际请求

1

2

3

4

general_log = [ON|OFF]/[1/0]

general_log_file = $mysql/sql_log/general.log

log_output = [file|table|none]

show variables like 'general_log';

  ③慢查日志(slow_query_log):a.将执行成功并符合条件的查询记录到日志中,b.找到需要优化的sql.

1

2

3

4

5

6

7

slow_query_log=[on|off]

slow_query_log_file=$mysql/sql_log/slowlog.log

long_query_time=XX秒 (可以精确到微秒)查询超过这个值才会被记录到slowlog中,互联网行业中一般设置0.001s比较合适。

set global long_query_time=0.001. 只对新建立的连接起作用。设置为0 是记录所有sql.

log_queries_not_using_indexes=[on|off]

log_slow_admin_statements=[on|off].设置为on时将会记录管理类命令比如create drop等。

log_slow_slave_statements=[on|off] 。前提要开启binlog.

   ④二进制日志(binary_log):a.记录所有对数据库中数据的修改;b.基于时间点的备份和恢复;c.高可用架构的基础-主从复制

1

2

3

4

5

6

7

8

常用配置参数:

log_bin =  [base_name]  静态参数 只能在my.cnf中配置 重启服务后生效。 5.7之前一般不会启用这个参数。

binlog_format = [row/statement/mixed] 动态参数。 5.7之后默认row 主从复制中安全性比较高

binlog_row_image = [full/minimal/noblob]  minimal 只会记录被修改的值,noblob会记录除blob外的所有修改前修改后的值。full没修改的列对应值也会记录。

set session binlog_row_image = 'minimal';

binlog_rows_query_log_events = [on|off]  会同时记录执行的sql语句

log_slave_updates = [on|off]   默认情况下slave不会记录同步主库过来的binlog日志,有些情况比如级联复制  slave是另一个mysql实例的主,还有需要gtid复制。都需要记录从主从同步过来的binlog日志。

sync_binlog = [1|0]  控制如何刷新二进制日志到磁盘,mysql每写一次二进制日志都会向磁盘刷新一次。<br>二进制日志的清除:

expire_logs_days = days  动态参数

purge binary logs to 'mysql-bin.010' 将指定日志前的二进制日志都删除。

purge binary logs before 'yyyy-mm-dd hh24:mi:ss';删除指定日期前的日志。

  ⑤中继日志(relay_log):

1

2

relay_log = filename  指定relay log存放位置和名称。

relay_log_purge = [on|off]   自动清理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值