MySQL8.0 查看实时执行的SQL语句 及 ef core并发处理



MySQL默认不能实时查看执行的SQL语句,因为这会消耗一定的资源。

要开启这个功能,稍微配置一下,打开这个LOG记录就可以了。

1 查看LOG功能

首先,查看是否已经开启实时SQL语句记录。

mysql> SHOW VARIABLES LIKE "general_log%";

如下general_log值为OFF说明没有开启:


  
  
  
  1. +------------------+----------------------------------+

  2. | Variable_name | Value |

  3. +------------------+----------------------------------+

  4. | general_log | OFF |

  5. | general_log_file | /var/lib/mysql/galley-pc.log |

  6. +------------------+----------------------------------+

  7. 2 rows in set (0.00 sec)

2 打开LOG功能

2.1 临时开启

如下,打开实时记录SQL语句功能,并指定自定义的log路径:


  
  
  
  1. mysql> SET GLOBAL general_log = 'ON';

  2. mysql> SET GLOBAL general_log_file = '/var/log/mysql/general_log.log'; 这个命令可能执行不成功,可以不执行,直接使用上面默认的文件路径即可

这两个命令在MySQL重启后失效,为临时方法。

说明:这个文件会随着访问的增加而不断变大,所以生产环境建议临时开启,用完及时关闭。

2.2 永久开启

永久有效需要配置my.cnf文件,加入下面两行:

general_log = 1
general_log_file = /var/log/mysql/general_sql.log

重启MySQL生效。

3 实时查看

过一小段时间后,就可以导出查看/var/lib/mysql/sql_statement.log文件了,里面记录了所有执行的SQL语句。

如果要实时查看该文件的改动,在Linux系统用tail命令:

$ tail -f /var/lib/mysql/general_sql.log

另外,也可以用BareTail软件实时查看。

原文链接  https://blog.csdn.net/qidaif/article/details/80931703


ef 并发检测 看这篇博文  https://cloud.tencent.com/developer/article/1013669


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM