zoukankan      html  css  js  c++  java
  • Windows下MySQL 5.6.19 general_log的设置

    MySQL 5.6.19的general_log默认是关闭的,应该说MySQL的general_log默认是关闭的,不分具体版本和平台

    一、从配置文件中启用general_log

    Windows下mysql的配置文件为my.ini,所在路径之前有介绍过;linux下好像是my.cnf。

    用记事本打开my.ini,找到

    #General and Slow logging.

    log-output=NONE

    general-log=0

    general_log_file=”计算机名称.log”

    把上面的几句都注释掉(我一般不删除系统的默认值),再重新写

    log-output=FILE

    general-log=1

    general_log_file=”mysql.log”

    这样修改完成后忘记了要不要重启mysql的服务,应该要的

    这样general_log就启用了,并输出到mysql.log,这个是相对路径,目录为E:ProgramDataMySQLMySQL Server 5.6data,当然这也和你安装的路径有关

    general_log_file=“”也可以设置绝对路径的,根据自己需要设置

    二、使用命令设置

    不修改配置文件的前提下,我是通过Workbench连接到MySQL服务器以root权限进行操作的

    查看general_log是否开启

    show variables like ‘general_log%’;

    设置日志输出为文件

    set global log_output=FILE

    (备注:这个FILE忘记了要不要单引号,好像不要,但是要是table的话,下文会提到table的)

    设置general log的日志文件路径

    set global general_log_file=’mysql.log’

    开启general log:

    set global general_log=on;

    其实就是配置文件里的东西,用命令修改

    但这个修改,每次重启mysql服务后都需要重新设置

    三、关于第二步中的table问题

    “从MySQL 5.1.6版开始,general query log和slow query log开始支持写到文件或者数据库表两种方式”,这句话参考网上的,没有去找考证官方文档

    放到表里直接用select查询方便多了,不用每次进系统下面找日志文件了。直接在数据库中操作就好了。尤其是使用特定权限的数据库账号远程操作数据库。

    前几天就有这样的需求,我在想只有数据库账号,生成日志我要进特定的目录去查看日志文件啊,这权限还需要设啊,那台的操作系统是linux。

    使用命令设置:

    set global log_output=‘table’

    (这一定要单引号)

    set global general_log=on;

    然后就可以从表里查询了

    select * from mysql.general_log

    我们可以看看general_log的字段类型

    use mysql;

    show columns in general_log;

    image

    set global general_log_file就不需要设置了

    在配置文件里配置应该和命令行类似了。

    不知道为什么,我电脑回家关机的,上班的时候开机,使用select * from mysql.general_log竟然记录我上班后的操作,难道这个重启mysql服务,记录还是会写到表里的。

    四、授权super权限给指定用户

    image

    要开启general_log,需要有super权限

    root账号授权super权限给test

    grant super on *.*  to test@localhost

    管理权限(如super,process,file等)不能够制定某个数据库,on 后面必须跟*.*(这也是从网上看的,当然我使用grant super on test.* to test@localhost 有报错  )

    mysql下的grant也是第一次使用,可能之前搞过,忘记了

    第一次搞MySQL开启日志,源于公司的需求。开始都不知道MySQL默认情况下日志是关闭的。反正遇到问题一点点找答案。

    现在就算是总结。

    中间还涉及到创建新用户,最近应该会总结出来的。

  • 相关阅读:
    checked、disabled在原生、jquery、vue下不同写法
    大白话理解闭包及相关笔试题
    reduce多种方法计算数组中某个值的出现次数
    js原生_获取url键值对
    弹窗和遮罩层的显示隐藏及空白区域关闭
    tab选项卡切换(js原生、jQuery )
    大白话理解this
    js---通过arguments来获取指定参数
    js-字符串方法
    登录linux,输入ls显示anaconda-ks.cfg cobbler.ks ....., 原因在于root@ ~ / 区别
  • 原文地址:https://www.cnblogs.com/cnmarkao/p/3880507.html
Copyright © 2011-2022 走看看