mysql 日志 博客,基于general_log的mysql日志追踪​

基于mysql的general_log 可以实现日志追踪,这在平时的开发调试中非常有用。

首先可以通过

show variables like 'general_log';  -- 查看日志是否开启

来查看mysqlServer的日志状态,默认是关闭的,因为这个日志的量非常大对资源是一个比较大的开销,所以千万不要在生产环境中开启这个功能!

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| general_log   | OFF   |

+---------------+-------+

1 row in set (0.00 sec)

接下来通过

set global general_log=on; -- 开启日志功能

来开启日志功能,再次查询

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| general_log   | ON    |

+---------------+-------+

1 row in set (0.00 sec)

general 可以将日志以文件和数据库两种形式进行记录,记录到数据表中要比记录到文件耗费更多的系统资源,所以推荐记录到文件的用法。

通过下边命令可以设置记录到文件还是数据表。

set global log_output='file/table';

通过下边命令可以查看当前的记录类型

show variables like 'log_output';  -- 看看日志输出类型  table或file

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| log_output    | FILE  |

+---------------+-------+

1 row in set (0.00 sec)

可以看到默认是存的file

查看日志文件的位置

show variables like 'general_log_file';  -- 看看日志文件保存位置

+------------------+------------------------------------+

| Variable_name    | Value                              |

+------------------+------------------------------------+

| general_log_file | /usr/local/mysql/var/localhost.log |

+------------------+------------------------------------+

1 row in set (0.00 sec)

重新设置日志文件位置

set global general_log_file='/data/mysql_log/general.log'; -- 设置日志文件保存位置

如果报错

ERROR 1231 (42000): Variable 'general_log_file' can't be set to the value of '/data/mysql/general.log'

检查一下目录权限,将目录的owner改为mysql,注意root目录下即使改了owner也是不行的

关闭日志功能

set global general_log=off; -- 关闭日志功能

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值