mysql中general_log日志的实现

 更新时间:2024年11月15日 11:27:40   作者:动漫西欧  
MySQL的general_log是一个非常有用的工具,它可以记录所有的SQL语句,包括查询、DML、DDL、DCL语句,以及连接和断开数据库的语句,下面就来具体介绍一下,感兴趣的可以了解一下

介绍

1.记录范围:这个log里面会记录MySQL所有的SQL语句,不管是查询语句,还是DML语句,还是DDL语句,还是DCL语句,这些语句统统都会被记录在general log文件中。就连我们连接和断开MySQL数据库的这些语句。
2.记录顺序:MySQL会把它收到的所有SQL语句按照接收的顺序依次记录在general log中。我们需要注意的是,这里接受的SQL语句的顺序,并不等于SQL语句就是按照这个接受的顺序来执行,因为有的时候,一些SQL可能需要等待其他锁被释放后才会被真正的执行,SQL语句的执行顺序是和binlog中的顺序是相匹配的。
3.影响:默认不开启。开启后日志将会非常大,对磁盘是一个很大的压力。对MySQL数据的性能有一定的影响。

操作命令(重启mysql失效)

1.查看日志是否开启: show variables like 'general_log';

2.开启日志功能: set global general_log=on;

3.关闭日志功能:set global general_log=off;

4.日志文件保存位置: show variables like 'general_log_file';

5.设置日志文件保存位置: set global general_log_file='/var/log/mysql/general_query_log';

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

7.设置输出类型为table(专用日志表中,要比记录到文件耗费更多的系统资源,写入到mysql.general_log 表,这个参数是和慢查询日志是共用的): set global log_output='table';

8.设置输出类型为file: set global log_output='file';

9.设置输出类型同时支持两种日志存储方式: set global log_output='file,table';

配置文件修改(重启生效)

1.开启日志功能: 修改需要在/etc/my.cnf的:general_log = 1(0表示关闭,等于1表示开启)
2.设置日志文件保存位置:修改需要在/etc/my.cnf的:general_log_file = /var/log/mysql/general_query_log/
3.设置输出类型为file(专用日志表中,要比记录到文件耗费更多的系统资源,写入到mysql.general_log 表,这个参数是和慢查询日志是共用的):修改需要在/etc/my.cnf的log_output = file
4.重启mysql:service mysqld restart

清理general log 文件

1.文件
(1)备份:cp general_query_log general_query_log.bak
(2)清理(切记不要直接删除这个日志文件,否则这个文件不会自动生成,误删后需要重启mysql): echo "" > general_query_log

2.表
(1)备份:create table mysql.general_log_bak as select * from mysql.general_log;
(2)清空:truncate table mysql.general_log;

到此这篇关于mysql中general_log日志的实现的文章就介绍到这了,更多相关mysql general_log日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql查询以某"字符串"开头的查询方式

    Mysql查询以某"字符串"开头的查询方式

    这篇文章主要介绍了Mysql查询以某"字符串"开头的查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 详解MySQL的半同步

    详解MySQL的半同步

    这篇文章主要介绍了MySQL的半同步的相关资料,帮助大家更好的理解和学习使用MySQL数据库,感兴趣的朋友可以了解下
    2021-04-04
  • mysql中的四大运算符种类实例汇总(20多项) 

    mysql中的四大运算符种类实例汇总(20多项) 

    这篇文章主要介绍了mysql中的四大运算符种类汇总,运算符连接表达式中的各个操作数,他的作用是用来指明对数据表中的操作数所进行的运算
    2022-07-07
  • 如何创建一个创建MySQL数据库中的datetime类型

    如何创建一个创建MySQL数据库中的datetime类型

    这篇文章主要介绍了如何创建一个创建MySQL数据库中的datetime类型,创建一个datetime类型的方法以及create domain 和create type的用法和区别,需要的朋友可以参考一下
    2022-03-03
  • MySQL系列关于NUll值的经验总结分析教程

    MySQL系列关于NUll值的经验总结分析教程

    这篇文章主要为大家介绍了MySQL系列关于NUll值的一些经验总结分析,关于null值的影响作用以及为什么会出现null值的原因等等问题的解析
    2021-10-10
  • windows 10 下mysql-8.0.17-winx64的安装方法图解

    windows 10 下mysql-8.0.17-winx64的安装方法图解

    这篇文章主要介绍了windows 10 mysql-8.0.17-winx64的方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Mysql数据库绿色版安装教程 解决系统错误1067的方法

    Mysql数据库绿色版安装教程 解决系统错误1067的方法

    这篇文章主要为大家详细介绍了MySql数据库绿色版安装教程,以及系统错误1067的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • Mysql主从GTID与binlog如何使用

    Mysql主从GTID与binlog如何使用

    MySQL的GTID和binlog是实现高效数据复制和恢复的重要机制,GTID保证事务的唯一标识,避免复制冲突;binlog记录数据变更,用于主从复制和数据恢复,两者配合,提高MySQL复制的准确性和管理便捷性
    2024-10-10
  • MySQL查看所有用户的实现

    MySQL查看所有用户的实现

    本文主要介绍了MySQL查看所有用户的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • MySQL中select语句介绍及使用示例

    MySQL中select语句介绍及使用示例

    数据表都已经创建起来了,我们就可以用自己喜欢的方式对数据表里面的信息进行检索和显示了,下面为大家讲解下MySQL中select语句的应用,感兴趣的碰可以学习下
    2013-07-07

最新评论