mysql开启日志

本文详细记录了在MySQL 5.6中配置日志记录功能的过程。从初始的困惑到最终解决问题,作者分享了如何正确定位my.ini配置文件,以及通过MySQL命令验证日志状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目过检,要求mysql需要有日志记录。我的是mysql5.6解压的。没有配置日志生成的功能。在网上搜了半天,也试了半天。终于有点明白了。

刚开始,一直看到有些网友说需要修改my.ini文件的。刚开始我只看到了我的my-default.ini文件。接着查原因,以及解决方法,有的说把这个文件改名就行了,添加上自己的配置就ok。照着做了一遍发现没有效果啊。

就这样 我去Navicat中写了几条查询,去这个配置生成的路径上看并没有日志文件生成。感觉好坑啊。

于是在网上接着搜资料看,这一篇给了我一些提示:

https://www.cnblogs.com/kerrycode/p/7130403.html

原来配置文件中的值,也可以通过mysql的命令进行设置,查看到自己的配置都没有生效,但也算找到了一种方式解决这个问题。

总想着自己的配置文件为啥没生效呢,接着看到了这篇文章:

https://blog.csdn.net/qilovehua/article/details/45541839

说是mysql的服务指向my.ini我去服务列表看了一眼:

 

有没有看到我上面图片的路径跟之前的自己创建的路径不一样呢,于是去服务列表指向的路径查看,果然有一个my.ini。我靠,赶紧在这个文件中添加自己的配置测试。

再通过mysql的指令去看日志开启状态,和生成路径;

果然发生了变化。至此,问题得以解决。

完成这个任务走了不少弯路,记录一下这两种方式,也希望看到这篇文章的你能少走弯路。

 

### 如何在 MySQL开启日志文件 #### 错误日志配置 错误日志MySQL 默认开启日志类型,用于记录服务器运行过程中发生的错误信息。可以通过修改 MySQL 配置文件(通常是 `my.cnf` 或 `my.ini`)来调整错误日志的路径和名称。例如,在配置文件中添加或修改以下内容[^1]: ```ini [mysqld] log_error=/path/to/your/error_log_file.log ``` 如果未指定路径,MySQL 会默认将错误日志保存在数据目录下,并以主机名命名。 #### 二进制日志配置 二进制日志(Binary Log)记录了所有对数据库的更改操作(如 `INSERT`、`UPDATE`、`DELETE`),主要用于数据恢复和主从复制。要启用二进制日志,需要在配置文件中添加以下内容[^1]: ```ini [mysqld] log_bin=/path/to/your/binlog_file ``` 此外,还可以设置二进制日志的过期时间,以便自动清理旧的日志文件。通过以下命令查看当前的过期时间设置: ```sql SHOW VARIABLES LIKE '%binlog_expire_logs_seconds%'; ``` 若需修改过期时间,可以在配置文件中添加以下参数[^1]: ```ini binlog_expire_logs_seconds=604800 ``` 此示例表示二进制日志将在 7 天后自动删除。 #### 查询日志配置 查询日志记录了所有发送到 MySQL 服务器的 SQL 查询语句。由于查询日志会显著增加磁盘 I/O 和存储空间消耗,通常仅在调试时启用。要在配置文件中启用查询日志,可以添加以下内容: ```ini [mysqld] general_log=1 general_log_file=/path/to/your/general_log_file.log ``` 启用后,所有查询都会被记录到指定的日志文件中。 #### 慢查询日志配置 慢查询日志用于记录执行时间超过设定阈值的查询语句,帮助开发者优化性能问题。可以通过以下方式在线启用慢查询日志[^2]: ```sql SET GLOBAL slow_query_log = 'ON'; ``` 同时,可以设置慢查询日志的文件路径和查询时间阈值: ```sql SET GLOBAL slow_query_log_file = '/path/to/your/slow_query_log_file.log'; SET GLOBAL long_query_time = 2; -- 记录执行时间超过 2 秒的查询 ``` 对于通过 Docker 安装的 MySQL,慢查询日志文件通常位于容器内部的数据目录中,例如 `/var/lib/mysql/`[^3]。可以通过进入容器并检查该路径下的文件来查看慢查询日志。 --- ### 示例代码 以下是一个完整的 MySQL 配置文件示例,展示了如何同时启用多种日志功能: ```ini [mysqld] # 错误日志 log_error=/var/log/mysql/error.log # 二进制日志 log_bin=/var/log/mysql/binlog binlog_expire_logs_seconds=604800 # 查询日志 general_log=1 general_log_file=/var/log/mysql/query.log # 慢查询日志 slow_query_log=1 slow_query_log_file=/var/log/mysql/slow_query.log long_query_time=2 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值