设为首页 收藏本站
查看: 895|回复: 0

[经验分享] Mysql通用日志总结

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-13 13:54:27 | 显示全部楼层 |阅读模式
1、通用日志概念及作用
通用日志会记录mysql的所有操作,包含查询操作,方便开发人员与数据库人员跟踪数据执行过程。
Mysql相关的参数:
log_output=[none|file|table|file,table]      #通用查询日志输出格式
general_log=[on|off]                     #是否启用通用查询日志
general_log_file[=filename]                #通用查询日志位置及名字
注:file与table的区别,file会记录在文件中,而table是记录在mysql.general_log表中。
2、如何开启(使用file输出格式)
2.1、通用日志默认是不开启,查看方法
1
2
mysql> select version();+------------+| version()  |+------------+| 5.7.16-log |+------------+1 row in set (0.00 sec)
mysql> show variables like "%general%";+------------------+---------------------------+| Variable_name    | Value                     |+------------------+---------------------------+| general_log      | OFF                       || general_log_file | /var/lib/mysql/aboss5.log |+------------------+---------------------------+2 rows in set (0.00 sec)



2.2、临时设置(不需要重启)
1
2
3
mysql> set global log_output=file;Query OK, 0 rows affected (0.00 sec)
mysql> set global general_log_file='/var/lib/mysql/mysql_general.log';Query OK, 0 rows affected (0.00 sec)
mysql> set global general_log=on;Query OK, 0 rows affected (0.01 sec)



使用完记得关闭,要不然会影响mysql性能
1
mysql> set global general_log=off;Query OK, 0 rows affected (0.00 sec)



2.3、永久设置(需要重启机器)
1
2
3
4
vim /etc/my.cnf
   log_output=file
   general_log=on
   general_log_file=/var/lib/mysql/mysql-general.log




3、如何开启(使用table或同时开启table与file两者输出格式)
3.1、临时改成table输出格式
注:永久操作,就是在Mysql的my.cnf配置就可以了,这里就不操作。
1
2
3
4
mysql> set global general_log=on;Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'log_output';+---------------+-------+| Variable_name | Value |+---------------+-------+| log_output    | FILE  |+---------------+-------+1 row in set (0.00 sec)
mysql> set global log_output='TABLE';Query OK, 0 rows affected (0.00 sec)
mysql> select * from mysql.slow_log;Empty set (0.00 sec)



查看结果
1
mysql> select thread_id,command_type,argument,event_time from mysql.general_log;+-----------+--------------+--------------------------------------------------------------------------+----------------------------+| thread_id | command_type | argument                                                                 | event_time                 |+-----------+--------------+--------------------------------------------------------------------------+----------------------------+|       136 | Query        | select * from mysql.slow_log                                             | 2016-11-25 17:17:44.237846 ||       136 | Query        | desc mysql.general_log                                                   | 2016-11-25 17:19:05.909411 ||       136 | Query        | select thread_id,command_type,argument,event_time from mysql.general_log | 2016-11-25 17:19:50.188954 |+-----------+--------------+--------------------------------------------------------------------------+----------------------------+3 rows in set (0.00 sec)



3.2、同时开启FILE,TABLE 两者输出格式
1
2
3
4
mysql> set global log_output='file,table';Query OK, 0 rows affected (0.00 sec)
mysql> select @@global.log_output;+---------------------+| @@global.log_output |+---------------------+| FILE,TABLE          |+---------------------+1 row in set (0.00 sec)
mysql> select thread_id,command_type,argument,event_time from mysql.general_log;+-----------+--------------+--------------------------------------------------------------------------+----------------------------+| thread_id | command_type | argument                                                                 | event_time                 |+-----------+--------------+--------------------------------------------------------------------------+----------------------------+|       136 | Query        | select * from mysql.slow_log                                             | 2016-11-25 17:17:44.237846 ||       136 | Query        | desc mysql.general_log                                                   | 2016-11-25 17:19:05.909411 ||       136 | Query        | select thread_id,command_type,argument,event_time from mysql.general_log | 2016-11-25 17:19:50.188954 ||       136 | Query        | show variables like 'log_output'                                         | 2016-11-25 17:23:21.393370 ||       136 | Query        | set global log_output='file,table'                                       | 2016-11-25 17:23:41.443710 ||       136 | Query        | select @@global.log_output                                               | 2016-11-25 17:23:54.132140 ||       136 | Query        | select thread_id,command_type,argument,event_time from mysql.general_log | 2016-11-25 17:24:08.725540 |+-----------+--------------+--------------------------------------------------------------------------+----------------------------+7 rows in set (0.00 sec)
mysql> commit;Query OK, 0 rows affected (0.00 sec)



日志文件查看
1
2
mysql> system tail /var/lib/mysql/mysql_general.log
/usr/sbin/mysqld, Version: 5.7.16-log (MySQL Community Server (GPL)). started with:Tcp port: 3306  Unix socket: /var/lib/mysql/mysql.sockTime                 Id Command    Argument2016-11-25T09:17:12.234377Z     136 Query  show variables like 'log_output'2016-11-25T09:17:32.614030Z     136 Query  set global log_output='TABLE'2016-11-25T09:23:54.132140Z     136 Query  select @@global.log_output2016-11-25T09:24:08.725540Z     136 Query  select thread_id,command_type,argument,event_time from mysql.general_log2016-11-25T09:24:15.510491Z     136 Query  commit



查看mysql.general_log
1
mysql> select thread_id,command_type,argument,event_time from mysql.general_log;+-----------+--------------+--------------------------------------------------------------------------+----------------------------+| thread_id | command_type | argument                                                                 | event_time                 |+-----------+--------------+--------------------------------------------------------------------------+----------------------------+|       136 | Query        | select * from mysql.slow_log                                             | 2016-11-25 17:17:44.237846 ||       136 | Query        | desc mysql.general_log                                                   | 2016-11-25 17:19:05.909411 ||       136 | Query        | select thread_id,command_type,argument,event_time from mysql.general_log | 2016-11-25 17:19:50.188954 ||       136 | Query        | show variables like 'log_output'                                         | 2016-11-25 17:23:21.393370 ||       136 | Query        | set global log_output='file,table'                                       | 2016-11-25 17:23:41.443710 ||       136 | Query        | select @@global.log_output                                               | 2016-11-25 17:23:54.132140 ||       136 | Query        | select thread_id,command_type,argument,event_time from mysql.general_log | 2016-11-25 17:24:08.725540 ||       136 | Query        | commit                                                                   | 2016-11-25 17:24:15.510491 ||       136 | Query        | select thread_id,command_type,argument,event_time from mysql.general_log | 2016-11-25 17:25:11.699651 |+-----------+--------------+--------------------------------------------------------------------------+----------------------------+9       rows in set (0.00 sec)




4、关于设置一些小结论
(1)当log_output设置为 TABLE或FILE或两者都设置,而general_log=off时,sql操作不会记录记录在通用日志中。
(2)当log_output设置为NONE,general_log=on时,sql操作也不会被记录在通用日志中。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-351026-1-1.html 上篇帖子: mysql的配置优化 下篇帖子: mysql查看当前库使用的引擎及简单操作 通用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表