• 清理日志


    第一步:登陆进入mysql,并使用 show binary logs; 查看日志文件。
    mysql -u root -p

    第二步:查看正在使用的日志文件:show master status;
    当前正在使用的日志文件是mysql-bin.000005,那么删除日志文件的时候应该排除掉该文件。
    purge binary logs to 'mysql-bin.000005'; 

    清空所有
    reset master;

    vim /etc/my.cnf
    如果你的mysql服务器不需要做主从复制的话,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf中的下面一行就可以了。
    log-bin=mysql-bin

    如果你需要复制,最好控制一下这些日志文件保留的天数,可以通过下面的配置设定日志文件保留的天数:
    expire_logs_days = 7

    不重启mysql
    show variables like '%log%';
    set global expire_logs_days = 7;

    这样做主要有以下两个目的:
    1:数据恢复
    如果你的数据库出问题了,而你之前有过备份,那么可以看日志文件,找出是哪个命令导致你的数据库出问题了,想办法挽回损失。
    2:主从服务器之间同步数据
    主服务器上所有的操作都在记录日志中,从服务器可以根据该日志来进行,以确保两个同步。
    处理方法分两种情况:
    1:只有一个mysql服务器,那么可以简单的注释掉这个选项就行了。
    vi /etc/my.cnf把里面的log-bin这一行注释掉,重启mysql服务即可。
    2:如果你的环境是主从服务器,那么就需要做以下操作了。
    A:在每个从属服务器上,使用SHOW SLAVE STATUS来检查它正在读取哪个日志。
    B:使用SHOW MASTER LOGS获得主服务器上的一系列日志。
    C:在所有的从属服务器中判定最早的日志,这个是目标日志,如果所有的从属服务器是更新的,就是清单上的最后一个日志。
    D:清理所有的日志,但是不包括目标日志,因为从服务器还要跟它同步。
    清理日志方法为:
    PURGE MASTER LOGS TO 'mysql-bin.010';
    PURGE MASTER LOGS BEFORE '2008-12-19 21:00:00';
    如果你确定从服务器已经同步过了,跟主服务器一样了,那么可以直接RESET MASTER将这些文件删除。

  • 相关阅读:
    Keepalived案例一:Keepalived双机热备(HA)精讲
    Linux服务器挂载ntfs移动硬盘
    RAC 单节点实例异常关闭,关键报错ORA--29770
    模拟等待事件:db file sequential read
    使用dbms_stats.gather_table_stats调整表的统计信息
    oracle rac常用的网络检查命令
    收集Oracle数据库中的SQL基线信息(一)基础信息收集
    Oracle 通过sql profile为sql语句加hint
    将指定SQL的执行计划从共享池删除的方法
    数据库什么时候建立索引?
  • 原文地址:https://www.cnblogs.com/edda/p/12660612.html
Copyright © 2020-2023  润新知