mysql输出打印日志命令_mysql 将执行的所有sql语句,输出到log日志(写入log日志), 以及将慢查询sql输出到日志文件...

有时候,我们想要查看,访问某个页面,mysql执行的所有的sql,在mysql层面做这个事情就容易的多

下面是mysql版本 >=5.6 的设置:

1.编辑my.cnf

vim /usr/local/mysql/my.cnf

[mysqld]

general_log_file = /var/log/mysql/mysql.log

general_log = 1

2.连接mysql,通过命令 mysql -u -p, 进入后执行:

SET GLOBAL general_log = 1;

3.重启mysql

/etc/init.d/mysql restart

4.如果文件 /var/log/mysql/mysql.log 不存在,则创建文件

touch /var/log/mysql/mysql.log

设置文件权限

chmod 777 /var/log/mysql/mysql.log

查看log文件的输出:

tail -f /var/log/mysql/mysql.log

访问页面,然后查看日志输出,譬如我的输出如下:

180411 12:38:28 282 Connectroot@localhost on fecshop

282 QuerySET NAMES 'utf8'

282 QuerySELECT * FROM `customer` WHERE (`id`=432) AND (`status`=1)

282 QuerySHOW FULL COLUMNS FROM `customer`

282 QuerySELECT

kcu.constraint_name,

kcu.column_name,

kcu.referenced_table_name,

kcu.referenced_column_name

FROM information_schema.referential_constraints AS rc

JOIN information_schema.key_column_usage AS kcu ON

(

kcu.constraint_catalog = rc.constraint_catalog OR

(kcu.constraint_catalog IS NULL AND rc.constraint_catalog IS NULL)

) AND

kcu.constraint_schema = rc.constraint_schema AND

kcu.constraint_name = rc.constraint_name

WHERE rc.constraint_schema = database() AND kcu.table_schema = database()

AND rc.table_name = 'customer' AND kcu.table_name = 'customer'

282 Quit

5.输出慢查询日志

在上面的my.cnf中加入下面的配置

# Set Slow Query Log

long_query_time = 1

slow_query_log = 1

slow_query_log_file = /usr/log/slowquery.log

log_queries_not_using_indexes = 1

创建文件/usr/log/slowquery.log, 设置777 权限,慢查询就会写入到该文件中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值