首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

查看mysql执行日志

基础概念

MySQL执行日志(也称为查询日志)记录了MySQL服务器接收的所有SQL语句,包括客户端发送的语句和服务器执行的操作。这些日志对于调试、性能分析和审计非常有用。

优势

  1. 调试:通过查看执行日志,可以追踪到具体的SQL语句,帮助定位问题。
  2. 性能分析:通过分析日志中的SQL语句执行时间,可以发现性能瓶颈。
  3. 审计:记录所有SQL操作,有助于安全审计和合规性检查。

类型

  1. 通用查询日志:记录所有客户端连接和执行的SQL语句。
  2. 慢查询日志:记录执行时间超过设定阈值的SQL语句。
  3. 错误日志:记录MySQL服务器的启动、运行和关闭过程中的错误信息。

应用场景

  • 故障排查:当系统出现问题时,可以通过查询日志快速定位问题。
  • 性能优化:通过分析慢查询日志,找出执行缓慢的SQL语句,进行优化。
  • 安全审计:监控和记录所有SQL操作,确保数据安全。

如何查看MySQL执行日志

查看通用查询日志

  1. 打开MySQL配置文件(通常是my.cnfmy.ini),添加或修改以下配置:
  2. 打开MySQL配置文件(通常是my.cnfmy.ini),添加或修改以下配置:
  3. 重启MySQL服务器以应用配置更改。
  4. 查看日志文件:
  5. 查看日志文件:

查看慢查询日志

  1. 打开MySQL配置文件,添加或修改以下配置:
  2. 打开MySQL配置文件,添加或修改以下配置:
  3. 重启MySQL服务器以应用配置更改。
  4. 查看慢查询日志:
  5. 查看慢查询日志:

遇到的问题及解决方法

日志文件过大

原因:长时间运行的系统会产生大量的日志文件,导致磁盘空间不足。

解决方法

  1. 定期清理日志文件:
  2. 定期清理日志文件:
  3. 配置日志轮转:
  4. 配置日志轮转:
  5. 使用logrotate工具进行日志轮转:
  6. 使用logrotate工具进行日志轮转:

日志文件权限问题

原因:MySQL服务器进程可能没有权限写入日志文件。

解决方法

  1. 确保日志文件目录和文件的权限正确:
  2. 确保日志文件目录和文件的权限正确:
  3. 检查SELinux或AppArmor配置,确保允许MySQL写入日志文件。

参考链接

通过以上步骤和方法,你可以有效地查看和管理MySQL执行日志,从而更好地进行系统调试、性能优化和安全审计。

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

相关·内容

查看mysql日志命令_linux查看mysql安装路径

Linux中MySQL日志在哪 Linux中MySQL日志一般保存在/var/log/目录下,但还需要看具体的配置文件才能确定,具体方法如下: 1、首先登陆 mysql: >mysql -u root...-p 2、然后查看是否启用了日志(推荐学习:Linux视频教程) mysql>show variables like ‘log_%’; 3、查看当前的日志 mysql> show master status...; 4、你需要知道的mysql的日志类型:Linux中oracle如何启动_网站服务器运行维护 Linux中启动oracle的方法:1、打开命令行窗口输入su – oracle;2、输入sqlplus打开...错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin 5、修改配置/etc/my.cnf...(以下为日志文件保存位置) [mysqld] log=/var/log/mysqld_common.log log-error=/var/log/mysqld_err.log log-bin=/var/

20.6K30
  • 查看mysql慢日志_docker查看实时日志的命令

    :set global slow_query_log=1; 慢查询sql的设置时间 查看慢查询sql的设置时间,默认10s,sql执行时间大于该时间的才是慢sql,才会记录到慢查询日志中 show variables...你用show variables like ‘long_query_time’查看是当前会话的变量值,结果还会是10s,你也可以不用重新连接会话,而是用show global variables like...log_output=’FILE’表示将日志存入文件,默认值是’FILE’。log_output=’TABLE’表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中。...72956 行 日志分析工具mysqldumpslow 在实际生产环境中,如果要手工分析日志,查找、分析SQL,显然是个体力活,MySQL提供了日志分析工具mysqldumpslow mysqldumpslow...执行 vim .bash_profile 添加如下内容 ##mysql export PATH=${PATH}:/usr/local/mysql/bin linux vi + /etc/profile

    3.3K40

    MySQL Explain查看执行计划

    我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。...(QEP:sql生成一个执行计划query Execution plan) mysql> explain select * from user; expain出来的信息有10列,分别是id、select_type...的序号会递增,id值越大优先级越高,越先被执行 id如果相同,可以认为是一组,从上往下顺序执行;在所有组中,id值越大,优先级越高,越先执行 二、select_type SIMPLE(简单SELECT,...如将主键置于where列表中,MySQL就能将该查询转换为一个常量,system是const类型的特例,当查询的表只有一行的情况下,使用system NULL: MySQL在优化过程中分解语句,执行时甚至不用访问表或索引...在执行查询时所作的优化工作 • 部分统计信息是估算的,并非精确值 • EXPALIN只能解释SELECT操作,其他操作要重写为SELECT后查看执行计划。

    1.9K30

    开启查看Mysql数据库日志

    很多时候网站打开速度变慢,为了定位是否为数据库导致的,我们需要知道在访问网站的同时,站点执行了哪些SQL,每条SQL耗时多长。 为此,查看数据库日志是最直接的。...无需重启数据库,直接刷新站点,发现 VM_211_224_centos.log 日志有内容,VM_211_224_centos-slow.log日志无内容(当然这是针对我的情况而言,mysql/mariadb...虽然 VM_211_224_centos.log 日志有内容,但也仅仅是一股脑把所有SQL列印出来而已,并不能反映每条SQL的执行时长。...但是这里可以通过tail -f实时直播日志的打印,以判断执行哪些SQL时会有停顿: tail -10f /var/lib/mysql/VM_211_224_centos.log 刷新网站后,就能通过日志发现...哪个SQL在执行的时候出现卡顿。

    6.1K10

    Mysql中explain命令查看执行计划

    前言 使用explain命令可以查看一条查询语句的执行计划,这篇文章记录一下查询计划的各个属性的值极其含义. ? 那么我们按照图中的顺序逐个字段的看一下....本文采用官网的数据库样本,下载地址:[MySQL官方数据库](https://dev.mysql.com/doc/index-other.html) id 一组数据,表示任务被执行的顺序,序号越大的任务越先执行...5 UNION 出现在union后的查询语句中 6 UNION RESULT 从UNION中获取结果集,例如上文的第三个例子 table 查询的数据表,当从衍生表中查数据时会显示 x 表示对应的执行计划...常见于主键或唯一索引扫描 const,system 当MySQL对查询某部分进行优化,并转换为一个常量时,使用这些类型访问 .NULL:MySQL在优化过程中分解语句,执行时甚至不用访问表或索引 possible_keys...将用where子句来过滤结果集 Using temporary 表示mysql在这个查询语句中使用了临时表.

    2K10

    mysql查看执行过的历史sql语句

    C端产品更新需同步到B端,2)B端订单需要同步到一套ERP系统;3)订单管理、财务结算、物流配置需要全部在erp中实现;为了提交开发效率,打算用最传统的方法:通过在被同步端按人工录入一次数据,记录一次执行...查看mysql日志状态,日志路径show variables like 'general_log%'开启日志记录:set GLOBAL general_log=on关闭日志记录set GLOBAL general_log...=off本人开发环境是5.7,其它版本暂未测试,是否有效请自行测试,详情可以参考mysql官网有关“通用查询日志”https://dev.mysql.com/doc/refman/8.0/en/query-log.html...英文不好的同事可以百度或者使用chrome自带翻译,查看更方便。...早年某培训机构推荐过一个php版本的日志查看工具,因换电脑忘记名称,有知道的欢迎推荐给我,谢谢!

    12110

    查看Mysql正在执行的事务、锁、等待

    #当前拥有锁的事务ID  blocking_lock_id: 613962:460:3:4 1 row in set, 1 warning (0.00 sec) 二、查看锁的情况...EXPLAIN EXTENDED命令:显示SQL语句的详细的查询执行计划;之后可以通过"SHOW WARNINGS"命令查看详细信息。     ...SHOW WARNINGS命令:可以查看MySQL优化器优化后的SQL语句。     EXPLAIN PARTITIONS命令:显示SQL语句的带有分区表信息的查询执行计划。     ...MySQL会递归执行这些子查询, 把结果放在临时表里。 UNCACHEABLE SUBQUERY,结果集不能被缓存的子查询,必须重新为外层查询的每一行进行评估。...rows:显示MYSQL执行查询的行数,简单且重要,数值越大越不好,说明没有用好索引 Extra:该列包含MySQL解决查询的详细信息。

    17.4K22
    领券