MySQL中general log使用
2015-10-22 17:03
495 查看
开启general log会将所有到达MySQL Server的SQL语句记录下来。一般不会开启开功能,因为log的量会非常庞大。但个别情况下可能会临时的开一会儿general log以供排障使用。
相关参数一共有3:general_log、log_output、general_log_file
general_log:全局动态变量,默认关闭
log_output :全局动态变量,可取FILE、TABLE、NONE。其中TABLE存储方式比较方便按条件检索。若指定为NONE,则即使general_log开启了也不会记录log。若log_output指定为TABLE,则会在mysql数据库下边创建一个general_log表。需要注意的是该参数不仅仅影响general的存储方式还影响slow的存储方式,这一点需要特别注意。
general_log_file:全局动态变量,日志文件名,不指定的话默认为hostname。log,位于数据目录下。
可以看到,引擎使用的是CSV,该引擎下MySQL会将表中的数据存储在数据目录对应的数据库目录下文件名为表明扩展名为.CSV的文件中。表的引擎可以根据需求进行更改。
相关参数一共有3:general_log、log_output、general_log_file
general_log:全局动态变量,默认关闭
log_output :全局动态变量,可取FILE、TABLE、NONE。其中TABLE存储方式比较方便按条件检索。若指定为NONE,则即使general_log开启了也不会记录log。若log_output指定为TABLE,则会在mysql数据库下边创建一个general_log表。需要注意的是该参数不仅仅影响general的存储方式还影响slow的存储方式,这一点需要特别注意。
general_log_file:全局动态变量,日志文件名,不指定的话默认为hostname。log,位于数据目录下。
mysql> show variables like 'general_log'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | general_log | OFF | +---------------+-------+ 1 row in set (0.15 sec) mysql> show variables like 'log_output'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_output | FILE | +---------------+-------+ 1 row in set (0.15 sec) mysql> show variables like 'general_log_file'; +------------------+----------------------+ | Variable_name | Value | +------------------+----------------------+ | general_log_file | /data/mysql/t1-2.log | +------------------+----------------------+ 1 row in set (0.11 sec) mysql> set global log_output='table'; Query OK, 0 rows affected (0.03 sec) mysql> show variables like 'log_output'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | log_output | TABLE | +---------------+-------+ 1 row in set (0.11 sec)
mysql> use mysql; mysql> show create table general_log\G *************************** 1. row *************************** Table: general_log Create Table: CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `thread_id` bigint(21) unsigned NOT NULL, `server_id` int(10) unsigned NOT NULL, `command_type` varchar(64) NOT NULL, `argument` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
可以看到,引擎使用的是CSV,该引擎下MySQL会将表中的数据存储在数据目录对应的数据库目录下文件名为表明扩展名为.CSV的文件中。表的引擎可以根据需求进行更改。
相关文章推荐
- JDBC-连接mysql查询数据时中文为空解决办法
- MySQL中数据库重命名
- MySQL UPDATE语句中的一个诡异现象
- MySQL中一些查看事务和锁情况的常用语句
- [转]MYSQL 查询优化
- mysql left( right ) join使用on 与where 筛选的差异
- MySQL NOT EXISTS优化的一个案例
- MySQL和MySQLi的区别
- MySQL DECIMAL数据类型
- 拯救mysql单表数据
- mysql 参数作用域
- [MySQL优化案例]系列 — 优化InnoDB表BLOB列的存储效率
- mysql InnoDB引擎 共享表空间和独立表空间(转载)
- Mysql优化ibdata1大小
- mysql按年度、季度、月度、周、日统计查询的sql语句
- MySQL 时间戳(Timestamp)函数
- c#操作mysql积累
- mysql 表的创建、删除、更改、和查询
- Mysql字符集
- web开发 mysql数据库操作 之 分页技术