扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
常用的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日志做恢复使用。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流