首页  »   MySQL

mysql所有sql执行日志

网友分享于:2017-12-29  浏览:0次
mysql全部sql执行日志
set global log_output='table';

-- 查看mysql查询日志位置
show variables  like "%general_log%";

-- 查看mysql记录到哪里
show variables  like "%log_output%";

-- 设置会话变量的值 查询日志
set global general_log_file='/var/run/mysqld/mysqld.log';

-- 设置记录查询日志
set global general_log='on';

-- 设置关闭查询日志
set global general_log='off';

-- 设置查询日志是文件还是表
set global log_output='file';
set global log_output='table';

-- 查表
select count(*) from mysql.general_log;

select event_time,argument from mysql.general_log 
where argument like 'select%' or argument like 'SELECT%' 
order by event_time desc limit 20;

select * from mysql.general_log where command_type='Execute' and  event_time 
between '2016-09-30 18:06:00' and '2016-09-30 18:06:05' limit 100;

-- 清空日志
truncate table  mysql.general_log;

================================================

mysql 自动更新字段用法
一、TIMESTAMP的变体
TIMESTAMP时间戳在创建的时候可以有多重不同的特性,如:
1.在创建新记录和修改现有记录的时候都对这个数据列刷新:
?
1
TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
2.在创建新记录的时候把这个字段设置为当前时间,但以后修改时,不再刷新它:
?
1
TIMESTAMP DEFAULT CURRENT_TIMESTAMP
3.在创建新记录的时候把这个字段设置为0,以后修改时刷新它:
?
1
TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
4.在创建新记录的时候把这个字段设置为给定值,以后修改时刷新它:
?
1
TIMESTAMP DEFAULT ‘yyyy-mm-dd hh:mm:ss' ON UPDATE CURRENT_TIMESTAMP
MySQL目前不支持列的Default 为函数的形式,如达到你某列的默认值为当前更新日期与时间的功能,你可以使用TIMESTAMP列类型,下面就详细说明TIMESTAMP列类型
 
二、TIMESTAMP列类型
TIMESTAMP值可以从1970的某时的开始一直到2037年,精度为一秒,其值作为数字显示。
TIMESTAMP值显示尺寸的格式如下表所示:

+---------------+----------------+
| 列类型    | 显示格式    |
| TIMESTAMP(14) | YYYYMMDDHHMMSS | 
| TIMESTAMP(12) | YYMMDDHHMMSS  |
| TIMESTAMP(10) | YYMMDDHHMM   |
| TIMESTAMP(8) | YYYYMMDD    |
| TIMESTAMP(6) | YYMMDD     |
| TIMESTAMP(4) | YYMM      |
| TIMESTAMP(2) | YY       |
+---------------+----------------+


相关解决方案

最新解决方案