在禁用日志之前,我使用此解决方案删除了我的。binlog
禁用后,我测试了以下命令删除剩余文件,但没有成功。(删除的目的是节省空间。)
PURGE BINARY LOGS TO 'binlogname';
PURGE BINARY LOGS BEFORE 'datetimestamp';
我的问题是:手动删除它们是否安全?(我发现那些问题question1和question2与我的相似,但答案对我来说不确定)
我有一个包含三个大表的数据库,它具有以下特点:
Indexing
在和的帮助下快速选择查询Partition
。Partition
的,然后删除 15 天前的分区。(快速准确)我监视我的二进制日志 9 天,日志大小急剧增加。问题是:在某些时候,binlog 占用了我所有的磁盘空间。我的问题是:
Partition
和binlog有什么关系吗?(如果我禁用它)运行的命令、表和 MySQL 配置如下所示。
du -ch /var/lib/mysql/binlog.* | tail -n 1
innodb_file_per_table
innodb_flush_method=O_DIRECT
innodb_log_file_size=1G
innodb_buffer_pool_size=4G
日期 | 以 GB 为单位的总大小 |
---|---|
2022-11-22 | 289GB |
2022-11-23 | 300GB |
2022-11-24 | 311GB |
2022-11-25 | 322GB |
2022-11-26 | 334GB |
2022-11-27 | 364GB |
2022-11-28 | 378GB |
2022-11-29 | 417GB |
2022-11-30 | 437GB |
我目前使用 MySQL 作为一个非常大的数据库(1TB),每天删除的行不超过 1TB。但是我遇到了这个问题Howto: Clean a mysql InnoDB storage engine? . 我想切换到 PostgreSQL 来避免这个问题。(根据其他人的建议)
我的问题是: