MySQL二进制日志的管理

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介:

MySQL --Binary log

最近在查看监控服务器的时候发现,有个日志文件居然有14G之多,查了下资料,介绍如下:

wKiom1LXT2vyyNpbAAHt1KbA6J0567.jpg

binary log,mysql中一个非常重要的部分,其主要作用有两个:

1.做主从同步时用来保证masterslave一致

2.做备份还原用来保证数据库的完整性

开启binary log方法如下

# vi /etc/my.cnf

log-bin=master-bin
log-bin-index=master-bin.index

日志的默认保存名称是:mysql-bin.xxxxxx

默认索引名称是:mysql-bin.index

这里我们做了设置,索引名称是:master-bin.index

这台服务器mysqlyum默认安装,日志文件保存路径是:/var/lib/mysql

 

.mysql的操作管理

 

1.刷新日志

mysql > flush logs;

2.查看当然数据库binlog信息

mysql > show binary logs;

+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.0000
41 | 149 | 
| mysql-bin.0000
42 | 149 | 
| mysql-bin.0000
43 | 106 | 
+------------------+-----------+

 

3.清除历史log,保留最近的

mysql > purge binary logs to 'mysql-bin.000043';

 

4.查看本地binlog文件

ls -l /var/lib/mysql/ | grep bin.

-rw-rw----  1 mysql mysql       19 Jan 16 11:07 master-bin.index
-rw-rw----  1 mysql mysql  5875412 Jan 16 11:31 mysql-bin.000043

备份中清除日志

# mysqldump --flush-logs --delete-master-logs

 

清理完成后效果

wKioL1LXT2yB0DKZAAHy0QugDZk233.jpg

MySQL –Binary log 脚本清理

考虑到日志每天有300M左右的增长,每个月差不多有10G的日志,手动管理确实麻烦;所以想采用脚本加crontab去自动管理,当然这台服务器只是监控用,数据不是很重要,其实关闭binary logs就可以了,做脚本管理仅仅是练习

生产情况分析

1.数据库服务器和应用(监控)在同一台机器上

2.没有主从互备

3.硬盘空间约1T

4.每个Binary logs大小是1G,每个月产生约10个日志文件。

5.数据库不大,压缩后约2M

6.没有其他服务器和这台服务器有数据库主从关系。

7.非核心设备

通过前面介绍我们了解Binary logs有两个作用

1.主从互备时数据一致性使用,不需要考虑

2.数据恢复使用,需要考虑

结合以上信息,决定如下管理:

1.每个月清理一次,清理时仅保留最后5条日志记录.

2.清理前做一次数据库备份,恢复使用.

3.数据库备份文件存放在根目录/backups/mysql下,用gzip压缩,文件命令为cacti-日期.sql.gz

4.数据库文件备份文件保存1年(可以通过脚本或者手动操作)

Crontab文件配置

wKiom1L7GDLgecarAAAwTCXFiLg798.jpg

脚本写法

wKioL1L7F_jziUPXAAOhNiy7BFI010.jpg










本文转自 chengchow 51CTO博客,原文链接:http://blog.51cto.com/chengchow/1352163,如需转载请自行联系原作者
相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
6月前
|
Ubuntu 关系型数据库 MySQL
MySQL二进制包安装
本文详细介绍了在多种Linux系统上通过二进制包安装MySQL 8.0和8.4版本的完整过程,涵盖用户创建、glibc版本匹配、程序解压、环境变量配置、初始化数据库及服务启动等步骤,并提供支持多发行版的一键安装脚本,助力高效部署MySQL环境。
899 4
MySQL二进制包安装
|
7月前
|
SQL 运维 关系型数据库
深入探讨MySQL的二进制日志(binlog)选项
总结而言,对MySQL binlogs深度理解并妥善配置对数据库运维管理至关重要;它不仅关系到系统性能优化也是实现高可靠性架构设计必须考虑因素之一。通过精心规划与周密部署可以使得该机能充分发挥作用而避免潜在风险带来影响。
221 6
|
11月前
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
680 23
|
12月前
|
Oracle 关系型数据库 MySQL
Oracle linux 8 二进制安装 MySQL 8.4企业版
Oracle linux 8 二进制安装 MySQL 8.4企业版
524 1
|
SQL 运维 关系型数据库
MySQL Binlog 日志查看方法及查看内容解析
本文介绍了 MySQL 的 Binlog(二进制日志)功能及其使用方法。Binlog 记录了数据库的所有数据变更操作,如 INSERT、UPDATE 和 DELETE,对数据恢复、主从复制和审计至关重要。文章详细说明了如何开启 Binlog 功能、查看当前日志文件及内容,并解析了常见的事件类型,包括 Format_desc、Query、Table_map、Write_rows、Update_rows 和 Delete_rows 等,帮助用户掌握数据库变化历史,提升维护和排障能力。
|
存储 SQL 关系型数据库
mysql的undo log、redo log、bin log、buffer pool
MySQL的undo log、redo log、bin log和buffer pool是确保数据库高效、安全和可靠运行的关键组件。理解这些组件的工作原理和作用,对于优化数据库性能和保障数据安全具有重要意义。通过适当的配置和优化,可以显著提升MySQL的运行效率和数据可靠性。
321 16
|
存储 SQL 关系型数据库
mysql的undo log、redo log、bin log、buffer pool
MySQL的undo log、redo log、bin log和buffer pool是确保数据库高效、安全和可靠运行的关键组件。理解这些组件的工作原理和作用,对于优化数据库性能和保障数据安全具有重要意义。通过适当的配置和优化,可以显著提升MySQL的运行效率和数据可靠性。
232 4
|
SQL 存储 关系型数据库
简单聊聊MySQL的三大日志(Redo Log、Binlog和Undo Log)各有什么区别
在MySQL数据库管理中,理解Redo Log(重做日志)、Binlog(二进制日志)和Undo Log(回滚日志)至关重要。Redo Log确保数据持久性和崩溃恢复;Binlog用于主从复制和数据恢复,记录逻辑操作;Undo Log支持事务的原子性和隔离性,实现回滚与MVCC。三者协同工作,保障事务ACID特性。文章还详细解析了日志写入流程及可能的异常情况,帮助深入理解数据库日志机制。
1630 0
|
7月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
490 158
|
7月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。

推荐镜像

更多