通用查询日志(general query log)用来记录用户的所有操作,包括启动和关闭MySQL服务、所有用户的连接开始时间和截止时间、发送给MySQL数据库服务器的所有SQL指令等。当我们的数据发生异常时,查看通用查询日志,还原操作时的具体场景,准确定位问题。
1.查看日志状态:
showvariableslike'%general%';
默认情况下,通用查询日志处于关闭状态,需要手动进行启动。
2.启动日志:
方式一:永久性启动
修改my.cnf
,或者my.ini
配置文件来设置。在mysqld
组下加入log选项,并重启MySQL服务。
[mysqld] general_log=ONgeneral_log_file=[path[filename]] #日志文件所在目录,filename是日志文件名
如果不指定目录和文件名,通用查询日志将默认存储在MySQL数据目录中的hostname.log文件中,hostname表示主机名。
方式二:临时性启动
连接MySQL客户端,使用命令的方式进行启动:
setglobalgeneral_log=on; setglobalgeneral_log_file='path/filename'; setglobalgeneral_log=off;
查看设置后的情况:
showvariableslike'%general%';
3.查看日志:
4.删除/刷新日志:
如果数据的使用非常频繁,那么通用查询日志会占用服务器非常大的磁盘空间。数据管理员可以删除很长时间之前的查询日志,以保证MySQL服务器上的硬盘空间。