MySQL日志文件配置

      博客原文请访问:http://zhuqiuhui.space/Blogs/2017/03/mysql-log-configuration.html

        开发过程中遇到的sql问题,总想看下数据库执行的日志,便研究了下怎么看sql操作日志的方法,特分享如下,看了很多资料,都写的不是太全,总结了一下,希望支持。

一、my.cnf文件查找

    不同的操作系统my.cnf放的位置是不一样的。

  1. windows下mysql配置文件存放在“C:/Program Files/MySQL/MySQL Server 5.5/my.ini”下。
  2. Mac OS X中默认是没有my.cnf文件的,需要对mysql进行定制的(定制过程见第二节)。

    验证Mac下没有my.cnf文件,可使用命令:

            
            
    1
            
            
    sudo find / -name my.cnf

    进行搜索一下,搜索结果什么也没有,便得以验证。也可以使用命令:
            
            
    1
            
            
    sudo mysql --help | grep my.cnf
    来查看下有关my.cnf的help信息,该命令在mac上的搜索结果如下:
            
            
    1
    2
            
            
    Default options are read from the following files in the given order:
    /etc/my.cnf /etc/mysql/my.cnf /usr/etc/my.cnf ~/.my.cnf
    官方的解释是: 
    You can now check for files using the above output at /etc/my.cnf, then /etc/mysql/my.cnf and so on. If there isn't one at one of those locations, you can create one and know MySQL will use it. 
    意思是在上述路径中没有找到my.cnf的话,你就可以新建一个my.cnf了。

二、my.cnf定制及日志文件配置

  1. 首先登录上mysql,查看日志服务是否开启(MySQL默认状态下是未开启日志服务的,即OFF状态):
            
            
    1
            
            
    show variables like 'log_bin'
  2. 开启日志服务(为ON状态就不用开启了,本文针对于OFF状态)。由于mac下没有my.cnf文件,所以可以从目录 
    /usr/local/mysql/support-files/my-medim.cnf 
    或者 
    /usr/local/opt/mysql/support-files/my-default.cnf 
    下拷贝任意一个.cnf文件到“/etc”目录下,并且重命名为my.cnf。
  3. 更改my.cnf权限,并添加日志路径配置。使用命令
            
            
    1
            
            
    chmod 755 /etc/my.cnf
    修改my.cnf权限,可读可写权限。然后打开my.cnf文件,找到“[mysqld]”,其下面添加以下内容:
            
            
    1
    2
    3
    4
    5
    6
            
            
    [mysqld]
    # binlog 配置
    log-bin = /usr/local/var/mysql/logs/mysql-bin.log
    expire-logs-days = 14
    max-binlog-size = 500M
    server-id = 1
    当然,里面的参数可以自己配置,包括路径等。配置完成后,重启mysql服务(mac下本文用brew安装的mysql,可使用mysql.server start/stop启动或者关闭mysql服务),重新登录mysql,重新执行:
            
            
    1
            
            
    show variables like 'log_bin'
    已经处于开启“ON”状态。
  4. 查看日志。进行一系列mysql操作后,在上述配置的日志文件目录下查看,便存在了以下文件: 
    mysql-bin.000001 mysql-bin.000002 mysql-bin.index 
    其中 mysql-bin.index 文件中存放的是日志文件的索引,日志文件如“mysql-bin.000002”可以用shell命令mysqlbinlog来查看,即 “mysqlbinlog mysql-bin.000002”。 
    备注:binlog,即二进制日志,它记录了数据库上的所有改变,改变数据库的SQL语句执行结束时,将在binlog的末尾写入一条记录,同时通知语句解析器,语句执行完毕。查看可使用sql命令“show binlog events in 'mysql-bin.000002';”          博客原文请访问:http://zhuqiuhui.space/Blogs/2017/03/mysql-log-configuration.html
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bboyzqh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值