
重启mysql生效
方法二:修改mysql变量
该方法在下次启动mysql后失效,也就是说重启mysql后expire_logs_days的值又还原为0了,
该方法的好处在于不用重启mysql就可以生效
所有mysql-bin都用rm删除了,可以找回数据。binlog日志用于记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。语句以“事件”的形式保存,它描述数据更改。 简单来说,可以通过binlog回溯数据的变化过程,可用于找回数据。
正确方法,通过mysql命令删除:
关键命令为:reset master此命令会清空mysql-bin数据库日志文件。
如果mysql服务器不需要做主从复制,建议通过修改my.cnf文件,来设置不生成这些文件,只要删除my.cnf添加:log-bin=mysql-bin如果需要复制,最好控制下这些日志文件保留的天数,设定日志文件保留的天数:expire_logs_days = 7表示保留7天的日志,旧日志会自动被清理掉。
用命令查看: show binary logs然后去从服务器上查看哪个二进制正在使用,
我们看到mysql-tb-bin.000005这个日志文件正在使用。
回到主服务器开始清理日志,但是不能清理mysql-tb-bin.000005这个日志文件,用命令清理:
purge binary logs to 'mysql-tb-bin.000005'
这个命令就是清理除mysql-tb-bin.000005以外的其他二进制日志;执行成功后,再查看二进制日志列表:show binary logs
清理成功,但是这样手动清理危险很大,而且还比较复杂,有没有自动清理的方法呢?答案是有的,在my.ini里面加上这个配置:expire_logs_days=5 这个配置的意思就是,日志的过期天数,超过5天的日志,mysql会自动清理5天以前的日志
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)