mysql 定期维护,mysqlbinlog 日常维护

常用的binlog日志操作命令

1)查看所有binlog日志列表

mysql> show master logs;

mysql> show master logs;

+------------------+------------+

| Log_name         | File_size  |

+------------------+------------+

| mysql-bin.000020 | 1233973852 |

| mysql-bin.000021 | 1098889933 |

| mysql-bin.000022 | 1073742725 |

| mysql-bin.000023 | 1076857649 |

2 rows in set (0.00 sec)

2)查看master状态,即最后(最新)一个binlog日志的编号名称,及其最后一个操作事件pos结束点(Position)值

mysql> show master status;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

|  mysql-bin.000023 | 4102 | | |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)

3)flush刷新log日志,自此刻开始产生一个新编号的binlog日志文件

mysql> flush logs;

Query OK, 0 rows affected (0.13 sec)

mysql> show master logs;

+------------------+-----------+

| Log_name | File_size |

+------------------+-----------+

| mysql-bin.000001 | 149 |

| mysql-bin.000002 | 4145 |

| mysql-bin.000003 | 106 |

+------------------+-----------+

3 rows in set (0.00 sec)

注意:

每当mysqld服务重启时,会自动执行此命令,刷新binlog日志;在mysqldump备份数据时加 -F 选项也会刷新binlog日志;

4)重置(清空)所有binlog日志

mysql> reset master;

Query OK, 0 rows affected (0.12 sec)

mysql> show master logs;

+------------------+-----------+

| Log_name | File_size |

+------------------+-----------+

| mysql-bin.000001 | 106 |

+------------------+-----------+

1 row in set (0.00 sec)

5.1)清除binlog:

删除binlog.000022之前的文件

//删除指定日志文件的日志索引中binlog日志文件

mysql> purge master logs to 'binlog.000022';

Query OK, 0 rows affected (0.04 sec)

mysql> show master logs;

+---------------+------------+

| Log_name      | File_size  |

+---------------+------------+

| binlog.000022 |  185770450 |

| binlog.000023 |  209780654 |

| binlog.000024 |  210483780 |

| binlog.000025 |  210304097 |

| binlog.000026 |  210346860 |

| binlog.000027 |  209954750 |

| binlog.000028 |  210094938 |

5.2)指定时间进行删除:

purge master logs before'2018-10-02 21:40:00'; //删除指定日期以前的日志索引中binlog日志文件

5.3)删除binlog注意事项:

注意时间和文件名一定不可以写错,特别是时间中的年和文件名中的序号,防止将正在使用的binlog删除,切勿删除正在使用的binlog。

使用该语法,会将对应的文件和mysql-bin.index中的对应路径删除。

5.4)通过设置binlog过期的时间,使系统自动删除binlog文件:

mysql> show variables like 'expire_logs_days';

+------------------+-------+

| Variable_name  | Value |

+------------------+-------+

| expire_logs_days |   0  |

+------------------+-------+

mysql> set global expire_logs_days = 14;    #设置binlog多少天过期

注意:

过期时间设置的要适当,对于主从复制,要看从库的延迟决定过期时间,特别是一些繁忙的业务系统,避免主库binlog还未传到从库便因过期而删除,

导致主从不一致,另外保留足够多的binlog日志做恢复使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值