国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > 数据库应用 > mysql学习笔记之十五(日志管理)

mysql学习笔记之十五(日志管理)

来源:程序员人生   发布时间:2015-08-04 08:28:52 阅读次数:3535次
日志:记录数据库的运行情况,平常操作,毛病信息等
    mysql日志:2进制日志,毛病日志,和查询日志。
        2进制日志:
            通过2进制情势记录数据库的各种操作,但是却不记录查询语句
        毛病日志    
            该日志会记录mysql服务器启动,关闭和运行时出错等信息    
        查询日志
            该类型日志会分为两类,通用查询日志和慢查询日志。其中前者会记录用户登录和记录查询语句;后者会记录履行时间超过指定时间的各种操作
    日志操作时数据库保护中最重要的手段之1,通过日志文件,不但可以通过日志文件爱你来查看出错的缘由,而且还可以通过日志文件爱你进行数据恢复。
    默许情况下,mysql软件只会启动毛病日志文件,而其他日志文件则需要手动启动才可以被启动。

操作2进制日志
    启动日志
        如果mysql数据库意外停止,可以通过2进制文件来查看用户履行了哪些操作,对数据库服务器文件做了哪些修改,然后根据2进制日志文件中的记录来恢复数据库服务器。
        默许情况下,2进制是关闭的。
        通过配置my.ini来实现,具体内容:
            [mysqld]
            log-bin[=dir[filename]]
        这个添加不要在my.ini文件头添加,要在中间添加,以下位置:
        log-slow-queries=mysql-slow.log
        log-error=mysql.err
        log-bin=mysql-bin
        添加毛病有可能致使mysql没法启动。
        dir用来指定2进制文件的存储路径;filename用来指定2进制文件的文件名,具体魄式为filename.number,其中number的格式为000001、000002...等
        在具体启动2进制文件时,如果没有设置参数dir和filename,2进制日志文件将使用默许名字主机名-bin.number,保存在默许目录--数据文件里。
        每次重启mysql服务器都会生成1个新的2进制日志文件,这些日志文件的文件名里,filename部份不会改变,但是number的值会不断增加。

        filename.index:2进制文件列表。 这个文件会自动添加
    查看日志
        mysqlbinlog filename.number
        (这个命令总是履行毛病。)
        查看发现,2进制日志会记录用户对服务器做了哪些操作,但不包括查询
        只查看第1个binlog文件的内容
            show binlog events;
        查看指定binlog文件的内容
            show binlog events in 'mysql-bin.000002';
        查看当前正在写入的binlog文件
            show master statusG
        获得binlog文件列表
            show binary logs;
    停止日志
        如果再my.ini配置文件中添加了log-bin选项,那末mysql会1直启动2进制日志功能。
        如果想停止,只需要删除log-bin选项便可

        1种特殊情况,1些操作需要记录在日志中,而1些操作不需要,那末可使用set命令
        如:
            set SQL_LOG_BIN=0
            set sql_log_bin=1
        只有具有super权限的用户,才可以履行set语句
    删除日志        
        reset master
            删除所有的2进制文件
        purge master logs to filename.number
            删除小于编号number的所有2制止文件
        purge master logs before 'yyyy-mm-dd hh:MM:ss'
            删除指定时间之前的2进制日志文件
操作毛病日志
    默许是开启的。名称格式1般为hostname.err,保存在数据库数据文件里
    配置文件my.ini中的error-bin[=dir[filename]]可以自定义毛病日志的保存路径

    启动
        如果没有开启,或关闭了,那末可以在配置文件my.ini里启动,
        [mysqld]
        error-bin=[dir[filename]]
    查看
        毛病日志是以文本文件的情势存储的,所以可以直接打开查看
    停止
        直接把配置文件里的对应选项注释掉,然后重启
    删除
        flush logs
        履行上述命令,mysql首先会创建1个新的毛病日志,然后将旧的毛病日志更名为filename.err-old。如果管理员认为不需要保存旧的日志,则可以直接删除
操作查询日志
    通用查询日志
        记录用户关于mysql服务器的所有操作,包括mysql服务器的启动和关闭信息、更新数据记录sql语句和查询数据记录sql语句。
    慢查询日志
        用来记录履行时间超过指定时间的查询语句
        通过该类型日志,可以查找到哪些查询语句的履行效力低,从而进行优化
    启动
        默许是关闭的
        配置my.ini
        [mysqld]
        log [=dir[filename]]
        通用查询日志文件的后缀为*.log

        log-slow-queries[=dir[filename]]
        long_query_time=n
        慢查询日志文件的后缀为*slow.log
        如果没有设置long_query_time,默许为10秒。
        我的慢查询日志默许是开启的。
    查看
        如果想了解用户最近的操作,可以查看通用查询日志;
        如果想了解哪些操作超时,可以查看慢查询日志
        都是文本文件,可以直接打开。
    停止
        直接把配置文件里的对应选项注释掉,然后重启
    删除
        mysqladmin -u root -p flush -logs
        履行不成功。
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生