由于mysql默认8小时连接无访问,就会断开.为此查了一下资料,有同种比较简单的解决方案: 1. 增加 MySQL 的 wait_timeout 属性的值. 修改 /etc/mysql/my.cnf文件,在 [mysqld] 节中设置: # Set a connection to wait 8hours in idle status. wait_timeout =86400 将这2个参数设置为24小时(60*60*24=604800)即可. set interactive_timeout=6
1.查看mysql配置 2.利用set (variables)命令设置变量 set global log_slow_queries = ON;/*(必须带上global)*/ set global slow_query_log= ON;/*(必须带上global)*/ set global long_query_time= 2;/*(必须带上global)*/ 3.重启mysql后set设置的值都失效,需要更改my.cnf或者my.ini,在[mysqld]下加上以下几句话 #指定日志文件存放位
作为后端开发者,遇到数据库问题的时候应该通过分析SQL语句来跟进问题所在,该方法可以记录所有的查询/执行的SQL语句到日志文件. 方法有几种,但是个人觉得以下这种最简单,但是重启MySQL服务后需要重新配置. 查询日志功能是否开启 SHOW VARIABLES LIKE 'general%'; general_log:日志功能是否开启,默认关闭OFF general_log_file:日志文件保存位置 开启日志 set GLOBAL general_log='ON'; 查询是否开启 SHOW V
当需要分析执行过的SQL语句来判断问题,可以通过打开查询日志功能,但是重启MySQL服务后需要重新配置. 查询日志查询功能: SHOW VARIABLES LIKE 'general%'; general_log:日志功能是否开启,默认关闭OFF general_log_file:日志文件保存位置 开启日志: set GLOBAL general_log='ON'; 查询是否开启: SHOW VARIABLES LIKE 'general_log';
封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil,代码比较简单,主要是把MongoTarget的配置.FileTarget的配置集成到类中,同时利用缓存依赖来判断是否需要重新创建Logger类,完整代码如下: using NLog; using NLog.Config; using NLog.Mongo; using NLog.Targets; using System; using System.Collections.Generic; using System.IO;