首页
学习
活动
专区
圈层
工具
发布

mysql怎么查看操作记录

MySQL查看操作记录可以通过几种方式实现,以下是几种常见的方法:

1. 二进制日志(Binary Log)

MySQL的二进制日志记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间。这些日志可以用于数据恢复和主从复制。

启用二进制日志: 在MySQL配置文件(通常是my.cnfmy.ini)中添加以下配置:

代码语言:txt
复制
[mysqld]
log-bin=mysql-bin

然后重启MySQL服务。

查看二进制日志:

代码语言:txt
复制
SHOW BINARY LOGS;

可以使用mysqlbinlog工具查看具体的日志内容:

代码语言:txt
复制
mysqlbinlog mysql-bin.000001

2. 慢查询日志(Slow Query Log)

慢查询日志记录了执行时间超过指定阈值的查询语句。

启用慢查询日志: 在MySQL配置文件中添加以下配置:

代码语言:txt
复制
[mysqld]
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow-query.log
long_query_time = 2

然后重启MySQL服务。

查看慢查询日志: 直接查看配置文件中指定的日志文件,例如/var/log/mysql/slow-query.log

3. 通用查询日志(General Query Log)

通用查询日志记录了所有的SQL语句,无论执行时间长短。

启用通用查询日志: 在MySQL配置文件中添加以下配置:

代码语言:txt
复制
[mysqld]
general_log = 1
general_log_file = /var/log/mysql/general-query.log

然后重启MySQL服务。

查看通用查询日志: 直接查看配置文件中指定的日志文件,例如/var/epl/mysql/general-query.log

4. 使用审计插件

MySQL 5.5及以上版本支持审计插件,如audit_log插件,可以记录详细的访问日志。

启用审计插件: 首先,确保插件已经安装:

代码语言:txt
复制
SHOW PLUGINS;

然后启用插件:

代码语言:txt
复制
INSTALL PLUGIN audit_log SONAME 'audit_log.so';

配置审计插件的参数,例如:

代码语言:txt
复制
SET GLOBAL audit_log_policy = ALL;

查看审计日志:

代码语言:txt
复制
SELECT * FROM mysql.audit_log;

应用场景

  • 数据恢复:通过二进制日志可以恢复数据。
  • 性能优化:通过慢查询日志可以找到执行时间较长的SQL语句,进行优化。
  • 安全审计:通过通用查询日志或审计插件可以记录所有操作,用于安全审计。

遇到的问题及解决方法

  1. 日志文件过大:如果日志文件过大,可以定期清理或归档日志文件。
  2. 性能影响:启用慢查询日志和通用查询日志可能会对性能产生影响,建议在低峰期启用,并且只记录必要的信息。
  3. 权限问题:查看日志文件可能需要相应的文件系统权限,确保MySQL用户有权限访问日志文件。

通过以上方法,你可以有效地查看和管理MySQL的操作记录。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【MySQL】MySQL审计操作记录

简介: 数据库审计能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库受到的风险行为进行告警,对攻击行为进行阻断,它通过对用户访问数据库行为的记录、分析和汇报,用来帮助用户事后生成合规报告...、事故追根溯源,同时加强内外部数据库网络行为记录,提高数据资产安全。...MySQL社区版并没有提供审计功能,注意到mariadb提供了一款server_audit审计插件,经测试此插件在MySQL社区版同样适用。...MjAxNsTq18rBzy8xMdTCLzEwyNUvTWFyaWFEQiAxMMnzvMbI1da+yKWz/bzHwrxzZWxlY3Sy2df3 1.安装: 通过show variables like 'plugin_dir';查看你的插件目录...server_audit_excl_users:该列表的用户行为将不记录,connect将不受该设置影响 server_audit_mode:标识版本,用于开发测试 5.卸载 mysql> UNINSTALL

5.3K20

MySQL常用操作记录

文章作者:foochane 原文链接:https://foochane.cn/article/2019062401.html 1 查看数据库当前用户及权限 use mysql; #信息放在mysql.user...,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL databasename:数据库名 tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示...,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL databasename:数据库名 tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示...启动停止查看状态 service mysql status service mysql start service mysql stop service mysql restart 10 mysql...无法远程访问问题解决 1 查看配置文件,看是否只允许本地访问 配置文件具体位置 /etc/mysql/mysql.conf.d/mysqld.cnf 不同版本可能不一样。

2.2K30
  • Linux 统一记录和查看登录和操作日志

    前提:在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。...这时候通过查看历史记录(命令:history)是没有什么意义了(因为history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史)。...那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?答案:有的。...dbasky/${LOGNAME}/*dbasky* 2>/dev/null保存退出后,使用source /etc/profile 使用脚本生效图片图片图片脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和...IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。

    8.5K40

    MySQL索引的创建,查看,删除,修改操作详解

    index_name index_name表示索引的名称,由用户自行定义,以便于以后对该索引进行修改等管理操作。...另外,使用字段的一部分创建索引可以使索引文件大大减小,从而节省了大量的磁盘空间,有可能提高INSERT操作的速度。 在MySQL中,前缀长度最大值为255字节。...并没有提供修改索引的直接命令,一般需要先删除原索引,再根据需要创建个同名索引,从而曲线救国实现修改索引操作。...在MySQL中,要查看某个数据库表中的索引也非常简单,只需要使用以下两个命令中的任意一种即可。...–如果查看索引前,没有使用use db_name等命令指定具体的数据库,则必须加上FROM db_name SHOW INDEX FROM table_name [FROM db_name] –如果查看索引前

    3.2K20

    (转)MySql中监视增删改查和查看日志记录

    %general%' ,然后出现下面的窗口,字段general_log为开关,一般默认是为OFF的,所以还没开启监视,然后general_log file 为监视文件日志文档,只要开启了开关就能在日志查看你都写哪些增删改查的语句...然后下面通过语句来开启监视 找到监视文档WZD.log(这里日志文件名字有可能每个人都不一样,按查询出来的那个为准去查找,一般是在你安装MySQL的data文件目录下),然后有些人也是跟我一样安装在...C盘的programdata目录下的,一般有可能该文件是被隐藏的; 附win7查看隐藏文件方法链接:https://jingyan.baidu.com/article/af9f5a2dc1f91243150a4553....html 附win10查看隐藏文件方法链接:https://jingyan.baidu.com/article/acf728fd2853fef8e410a37f.html 然后其实直接百度你系统查看隐藏文件方法就行了

    2.1K20

    MySQL 开启慢查询&所有操作记录日志

    是日志记录的位置。...然后重新启动MySQL服务 注意,mysql 5.6版本,记录慢查询日志的配置方式有修改为: long_query_time=2 slow_query_log=1 slow_query_log_file...=/tmp/slow-query.log 另外,可配置记录没有使用索引的查询日志: log_queries_not_using_indexes=1 2、 MySQL 配置文件的位置 Windows:Windows...注:可通过mysql>show full processlist;来查看当前mysql的连接进程; 3、要记录所有操作日志,包括select 在my.ini或my.cnf配置文件,[mysqld]中增加...:log=文件名 例:log=/tmp/mysqlquery.log 重启mysqld,即会把所有相关操作日志都记录下来 注意:log记录的位置,mysql要有写权限; 注意,mysql 5.6版本,记录所有操作日志的配置方式有修改为

    5.2K20
    领券