近来接触mysql日志,通过查看别人的分享进行学习,对自己过程做简单的总结,非原创,只是自己的一个记录。
我用的是window10 ,mysql 5.7.17版本
开始了。 通过 我的电脑 --> 管理 -->服务和应用程序 --> 服务 ,找到mysql服务,右键属性可看到,
后面 --defaults-file= 才是my.ini 的路径,刚开始我都是在mysql安装目录下改的my-default.ini改的log路径,可是没成功。
正确的路径是在 C:\ProgramData\MySQL\MySQL Server 5.7\my.ini。
开始我们的mysql日志了。my.ini的配置
这里datadir 参数设置的是我们的文件路径,日志文件都在这个参数设置的路径下。
mysql 5.7 下载后默认查询日志是(0)off的,需要的话改 成1 ,general_log_file="DESKTOP-K1KERC2.log" 文件名,保存文件后重启服务 ,就会看到文件了
mysql四种日志:log-err 错误日志, log-bin二进制日志,log查询(通用)日志,log-slow-queries慢查询日志。
在mysql.ini配置后重启服务就可以看到对应文件了。 除了二进制日志外都可以通过文本直接打开看到。
期间出现的问题:
1、查看慢查询日志时,(为了测试我创建了表做了查询)看日志格式没有根据sql语句换行,很难看清,window用户可以通过cmd 进入命令行,用 more 文件路径或则type 文件路径 命令进行查看 ,more命令可以分页浏览,语句直接是换行的 ,清晰可见。
2、通过查看log-err文件,发现每行的时间跟当前对应的时间都是不一样的。一直以为是没记录到,后来多次重启后发现时间统一比当前时间慢,于是想起了可能是时区问题。查询了资料后发现真的有人遇到过,可以通过该my.ini参数,
log_timestamps=SYSTEM 修改完成后重启服务,发现刚才重启的日志时间就没问题了。
3、查看log-bin 二进制文件,没法用文本的形式。可以用mysqlbinlog命令进行查看
当然,首先要配置环境变量, 也很简单
我的电脑 --> 属性 --> 高级系统设置 -->高级 --> 环境变量
编辑Path 用户变量变量,新增,路径选择你安装的mysql目录下的bin路径,mysql5.7默认的安装路径是C:\Program Files\MySQL\MySQL Server 5.7\bin。
然后cmd用户命令,mysqlbinlog 二进制路径 就可以查看了(如 mysqlbinlog C:\ProgramData\MySQL\MySQL Server 5.7\Data\DESKTOP-K1KERC2-bin.000001)
4、基于第三个问题,正确打开后,看不到sql语句
看着想被加密后的东西,查了下,果然有人发现问题(我们遇到的坑,其实别人都填过了)。
二进制日志文件除了创建表和删除表的sql外,操作数据库的语句都加密了,要想看sql,用如下命令:
mysqlbinlog --base64-output="decode-rows" -v 二进制文件路径名
这么操作后就能看到刚才做的修改sql了。
记录至此,简单的mysql日志查看就结束了,学了点小东西就有满足感。