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

怎么查mysql访问记录

要查看MySQL的访问记录,可以通过以下几种方式:

1. MySQL访问日志(Access Log)

MySQL服务器默认情况下并不会开启访问日志,需要手动配置。访问日志记录了所有对MySQL服务器的连接和执行的操作。

启用访问日志

编辑MySQL配置文件(通常是my.cnfmy.ini),添加或修改以下配置:

代码语言:txt
复制
[mysqld]
log-access = /path/to/your/access.log

然后重启MySQL服务使配置生效。

查看访问日志

访问日志通常是一个文本文件,可以直接使用文本编辑器打开查看,也可以使用命令行工具如grepawk等进行过滤和分析。

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

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

启用慢查询日志

同样编辑MySQL配置文件,添加或修改以下配置:

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

这里long_query_time的值表示查询时间超过多少秒会被记录,默认是10秒。

查看慢查询日志

慢查询日志也是一个文本文件,可以使用文本编辑器或命令行工具查看。

3. 二进制日志(Binary Log)

二进制日志记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间。

启用二进制日志

编辑MySQL配置文件,添加或修改以下配置:

代码语言:txt
复制
[mysqld]
log-bin = /path/to/your/binlog

查看二进制日志

二进制日志不是纯文本格式,需要使用特定的工具如mysqlbinlog来查看。

代码语言:txt
复制
mysqlbinlog /path/to/your/binlog

4. 使用审计插件

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

安装审计插件

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

配置和使用

具体配置和使用方法可以参考MySQL官方文档。

应用场景

  • 安全审计:通过访问日志可以追踪非法访问和潜在的安全威胁。
  • 性能优化:慢查询日志可以帮助识别和优化执行效率低下的SQL语句。
  • 数据恢复:二进制日志在数据丢失或损坏时可以用于数据恢复。

注意事项

  • 访问日志和慢查询日志可能会占用大量磁盘空间,需要定期清理。
  • 启用二进制日志会增加磁盘I/O负载,影响性能。
  • 审计插件可能会增加服务器的资源消耗。

通过以上方法,你可以根据实际需求选择合适的方式来查看MySQL的访问记录。

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

相关·内容

MySQL并发事务访问相同记录

同时 锁机制 也为实现MySQL的各个隔离级别提供了保证。 锁冲突 也是影响数据库 并发访问性能 的一个重要因素。所以锁对数据库而 言显得尤其重要,也更加复杂。...读-读情况 读-读 情况,即并发事务相继 读取相同的记录 。读取操作本身不会对记录有任何影响,并不会引起什么 问题,所以允许这种情况的发生。...所以在多个未提交事务 相继对一条记录做改动时,需要让它们 排队执行 ,这个排队的过程其实是通过 锁 来实现的。...这个所谓 的锁其实是一个 内存中的结构 ,在事务执行前本来是没有锁的,也就是说一开始是没有 锁结构 和记录进 行关联的,如图所示: 当一个事务想对这条记录做改动时,首先会看看内存中有没有与这条记录关联的...比如MySQL在 REPEATABLE READ 隔离级别上就已经 解决了 幻读 问题。 并发问题的解决方案 怎么解决 脏读 、 不可重复读 、 幻读 这些问题呢?

1.7K30
  • MYSQL CPU 使用率高,怎么查,怎么破

    MYSQL 的CPU 使用率高,干时间长的DB们都会遇到,其实其他的数据库也都是有类似的问题,CPU一升高。大部分DBA 的首要工作就是要看是不是有大事务,大查询,慢查询等等。...实际上我们是不是有更好的快速定位的方法 下图我们可以看到系统CPU一直在 90%, 到底什么原因造成MYSQL的CPU 利用率一直高怎么分析。follow me....ID 直接回到MYSQL 内部,我们看看到底这两个线程在做什么。...将上面的有压力的MYSQL 的CPU 添加一倍从4 croe 变为 8核心,最终结果(至少在我这里),CPU的LOAD 基本上没有变化,在负载同样的情况。...mysqladmin -uroot -p'password' --socket=/data/mysql/mysql.sock extended-status -i1|awk 'BEGIN{local_switch

    6.7K00

    MySQL 8.0 慢查询日志彻底搞懂,怎么设置,怎么查

    你有没有遇到过这种情况:系统跑着跑着就卡了,明明 CPU 和内存都没爆,MySQL 却迟迟不给结果。领导追问“哪个 SQL 慢?为啥慢?”,你一脸懵,连查都不会查。 一、慢查询日志是啥?...组件关系先说清楚 **作用:**记录执行时间超过指定时间阈值的 SQL 语句。 **用途:**定位哪些 SQL 慢、影响性能、需优化。 **适用场景:**SQL 优化、性能瓶颈排查。...解决方式:你需要先进入容器中再执行 mysql dockerexec-it mysql-master bash mysql -uroot-p 或者你没装 docker?...怎么读?...WHERE name LIKE'%测试%'; 解读: Query_time: SQL 执行耗时 Lock_time: 等待锁耗时 Rows_examined: 扫描了多少行(越多越慢) 五、日志太多了怎么办

    1.1K10

    SQL Sever学习记录:增删改查之查

    SQL Server查询精进:深入理解SELECT语句 SQL 基础知识 SQL(Structured Query Language)是用于关系型数据库的操作语言,可以应用于MySQL、Oracle、SQL...条件查询 可以使用WHERE子句进行条件查询,例如查询fruits表中价格大于5的记录: SELECT * FROM fruits WHERE f_price > 5; 排序和限制结果 可以使用ORDER...BY进行排序,LIMIT限制结果数量,例如查询fruits表中按价格降序排列的前5条记录: SELECT * FROM fruits ORDER BY f_price DESC LIMIT 5; 聚合函数和分组查询...正则表达式 一些数据库系统支持正则表达式查询,例如MySQL中的REGEXP: SELECT * FROM students WHERE name REGEXP '^John'; 子查询 子查询是嵌套在另一个查询中的查询

    75000

    带你读 MySQL 源码:where 条件怎么过滤记录?

    源码分析系列的第 3 篇文章,我们来聊聊 MySQL 是怎么判断一条记录是否匹配 where 条件的。 正文 1....SQL 中 t1 表的访问方式为全表扫描,所以 m_source 是 TableScanIterator 迭代器对象。...通过 explain 可以确认示例 SQL 中 t1 表的访问方式为全表扫描(type = ALL): explain select * from t1 where i2 > 20 and (i1 =...(null_value = item->null_value)) 中的 ignore_unknown() 用于控制 where 条件中包含 NULL 值时怎么处理,我们需要展开介绍 Item_cond_and...Item_cond_and::val_int() 的代码不多,但是这个方法中调用了 ignore_known() 用于控制怎么处理 where 条件包含 NULL 值的场景,代码细节并不太好理解,所以花了比较长的篇幅介绍

    2K60

    MySQL数据库(八):表记录的基本操作(增删改查)

    字符比较、范围内、空、非空、逻辑比较、模糊、正则表达式 2.例子: 1.1 删除uid字段为null的记录 mysql> select id,uid from usertab where uid is...四、查 select:查询记录内容(值) 1.格式 select     字段名列表    from    表名; select     字段名列表    from    数据库名.表名; select...= 格式: 字段名 “字符串” 比如:name=”root” 例子: 查询表中username=root的记录 mysql> select * from usertab where...limit限制显示记录的条目数 1.1格式: limit N;   # N表示从查询结果的第几条记录开始显示,默认从查询结果的第一条记录开始显示,第一条记录的编号是0 # M 表示显示条目的记录数 limit...N,M;   例子: 显示查询结果的前10条记录 mysql> select id,username,uid from usertab limit 10; mysql> select id,username

    5.9K110

    node+mysql,实现基本的增删改查,附带跟踪记录和运行时间记录

    Node + mysql 实现基础的增删改查,以及性能测试。 网上有很多这样的例子,我也是找来学习的。...感觉node对mysql的操作非常简单,也很实用,比如自带防止sql注入的功能,一开始还担心注入漏洞呢,后来发现完全没必要。 返回的记录集直接就是json格式,都不用转换,直接就可以用。...不用区分增删改查,反正都是这个套路,只要改改sql语句和参数就可以了。比ado.net简单和方便多了。 然后就是对性能的了解,每个步骤都花了多长时间?有没有坑,会不会出现浪费性能的写法?...为了更好的记录运行过程和时间,定义一个简单的类来记录 var msg={ title:'增删改查的演示', startTime:t1, endTime:0, items:.../preciseTime').time; var num= 4; //开始运行时间 var t1 = time(); //跟踪记录 var msg={ title:'增删改查的演示',

    1.2K50

    mysql 的一行记录是怎么存储的?

    mysql 的一行记录,最终肯定是存储在磁盘上,也就是肉眼可见的文件上,今天我们的目标很简单,就是看看它到底是怎么存的。...可是与后面怎么也对应不上,这是咋回事呢? 还记不记得,mysql 每行记录会有几个隐藏列,rowid,事务 ID,回滚指针?没错,就是他们。...行记录格式整体结构 总结下,整个一行记录的格式,叫做 mysql 的行记录格式,ROW_FORMAT。...< DYNAMIC row format */ }; 我电脑上用的是 mysql 5.7,其默认的行记录格式是 DYNAMIC,这个在源码中也可以找到答案,在 ha_innodb.cc 中。...就是 mysql 规定了一种将一行记录存储在磁盘中的格式,以便于 mysql 自己的程序可以根据这个结构认识这一行记录。

    2.5K30

    MySQL查漏补缺

    查漏补缺 目录 MySQL查漏补缺 唯一索引比普通索引快吗, 为什么 MySQL由哪些部分组成, 分别用来做什么 MySQL查询缓存有什么弊端, 应该什么情况下使用, 8.0版本对查询缓存有什么变更....MyISAM和InnoDB的区别有哪些 MySQL怎么恢复半个月前的数据 MySQL事务的隔离级别, 分别有什么特点 做过哪些MySQL索引相关优化 简要说一下数据库范式 一千万条数据的表, 如何分页查询...订单表数据量越来越大导致查询缓慢, 如何处理 欢迎关注公众号(代码如诗) 推荐阅读 十个MySQL知识点(面试题), 查漏补缺, 共同学习, 欢迎交流....MyISAM支持全文索引, InnoDB不支持(但可以使用Sphinx插件) MySQL怎么恢复半个月前的数据 通过整库备份+binlog进行恢复. 前提是要有定期整库备份且保存了binlog日志....串行化(S): 对于同一行记录, 读写都会加锁. 当出现读写锁冲突的时候, 后访问的事务必须等前一个事务执行完成才能继续执行.

    3.5K20

    MySQL慢查日志

    本文先来讲讲慢查日志。 1. 是什么? MySQL慢查日志是一种记录执行很慢的sql的日志。...MySQL中可以通过long_query_time来设置一个阀值,如果执行时间超过这个阀值,就会被认为是慢sql,就会记录到慢查日志中。该阀值默认是10s,即执行超过10s的sql就会被记录。 2....怎么用? 开启方法: MySQL默认是没有开启慢查日志的,如果不是调优需要的话,不建议开启,因为这个也会带来性能的影响。...执行结果 那么我们要怎么验证修改是否生效呢?也就是超过3s的sql到底有没有被记录到慢查日志中呢?...帮助文档 常见命令如下: # 得到返回记录集最多的10个sql mysqldumpslow -s r -t 10 /var/lib/mysql/localhost-slow.log # 得到访问次数最多的

    2.4K10

    记录一次centos6排查80端口无法访问的问题

    大概是一个月前的事情了,最近工作繁忙,暂时忘了记录… 当时的情况大概是这样: 客户的机房开通的是广电网的固定IP,服务器系统是 centos6.8,已知 80 端口和 22 端口对外是开放并能访问的;...SELinux 状态:getenforce (Disabled) 项目目录的访问权限是足够的 lsof -i :8080 httpd 22357 root 6u IPv6 27111118 0t0 TCP...httpd 问题: 服务器的 8080 端口在本地可以通过 curl 命令(curl http://localhost:8080)获取到index.php 的内容,但是外网无法通过 ip:port 的形式访问到...最后锁定问题:8080端口被机房限制了… NOTE:这种情况通常排查机房或运营商是否对无法访问的端口进行了限制 附上本人当时在v2ex上发的主题

    4.1K91

    MySQL增删改查语句_MySQL comment

    今天说一说MySQL增删改查语句_MySQL comment,希望能够帮助大家进步!!!...1.前言 mysql慢查询,已经有现成的成熟的方案收集展示了:pt-query-digest结合box公司的anemometer,没用过的移步:《mysql慢查询可视化》(本章内容需要提前了解anemometer...但DBA们一定还遇到过这样的问题:某个时间段CPU负载较高,但慢查却没有。这种情况一般是由高并发的但单个性能正常的SQL导致的,所以慢查没有,但总体负载会升高。 那怎么办呢?...2.功能展示 选择时间段、host(沿用的慢查中的名称,理解为mysql实例): 展示每个digest的总次数、最高执行频率(按分钟)、平均耗时(毫秒) 点击checksum,查看某个SQL执行频率的走势图...3.2.表结构 global_query_review、global_query_review_history直接沿用慢查的表结构,字段不变; db_instance实:例配置表,记录实例的信息,python

    4.6K60

    怎么根据域名查ip?又如何根据ip查域名?

    前者是让我们找到地址的门牌,后者则是让我们快速访问网页的名称。ip和域名是相联系的,一个ip可以有很多域名,但一个域名只有一个ip,所以通过ip或是域名就能够查询到对方。...那么,下面就一起来看看怎么根据域名查ip等内容吧。 image.png 怎么根据域名查ip? 怎么根据域名查ip有好几种方法,具体如下: 1、正常通过本地运行然后输入CMD就能够看到自己的ip。...如何通过ip查域名? 如何通过ip查域名具体方法如下: 1、因为一个域名只有一个ip地址,所以查询域名可以通过ip反查的工具网站来实现。只要在网站上输入ip地址就能够看到所有的网站信息。...总之,怎么根据域名查ip相信大家已了解,ip和域名在网络中都非常常用,因为ip和域名是相互联系的,所以想要互相查询办法很多,了解一下还是有必要的。

    29.3K10
    领券