【问题标题】:MariaDB with MyRocks engine: Many huge files after insertions带有 MyRocks 引擎的 MariaDB:插入后的许多大文件
【发布时间】:2025-12-03 05:45:02
【问题描述】:

我正在使用带有 MyRocks 引擎的 MariaDB。不久之后,我尝试将一堆数据插入一些表(表可能是 InnoDB 和 MyRocks 引擎),我的磁盘增长非常快。我检查了 MariaDB 数据目录,我看到了这个:

drwxr-x--x 2 mysql mysql  12K Jun 26 12:07 #rocksdb
drwxr-xr-x 7 mysql mysql 4.0K Jun 26 12:07 .
drwxr-xr-x 6 root  root  4.0K Jun 21 10:22 ..
-rw-rw---- 1 mysql mysql 1.1G Jun 25 21:39 1.000001
-rw-rw---- 1 mysql mysql 1.1G Jun 25 21:40 1.000002
-rw-rw---- 1 mysql mysql 1.6G Jun 25 21:44 1.000003
-rw-rw---- 1 mysql mysql 1.1G Jun 25 21:48 1.000004
-rw-rw---- 1 mysql mysql 1.1G Jun 25 21:50 1.000005
-rw-rw---- 1 mysql mysql 218M Jun 26 06:53 1.000006
-rw-rw---- 1 mysql mysql  357 Jun 26 06:56 1.000007
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:06 1.000008
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:09 1.000009
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:17 1.000010
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:19 1.000011
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:22 1.000012
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:24 1.000013
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:27 1.000014
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:29 1.000015
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:32 1.000016
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:34 1.000017
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:37 1.000018
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:40 1.000019
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:42 1.000020
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:45 1.000021
-rw-rw---- 1 mysql mysql 1.1G Jun 26 07:51 1.000022
-rw-rw---- 1 mysql mysql 1.1G Jun 26 08:00 1.000023
-rw-rw---- 1 mysql mysql 1.1G Jun 26 08:07 1.000024
-rw-rw---- 1 mysql mysql 1.1G Jun 26 08:15 1.000025
...

我看到许多文件的名称只包含数字。我不知道这些文件是由 MyRocks 或 MySQL 创建的,我可以删除它们吗?

【问题讨论】:

    标签: mysql mariadb rocksdb


    【解决方案1】:

    猜测:假设它打开了 binlogging,您配置了以下内容:

    log_bin = 1
    

    这些是以“1”开头的二进制日志。

    每隔几分钟创建一个新文件意味着大量写入(例如您提到的插入)。

    如果您不需要 binlogging 并更改为此并重新启动,那么文件应该停止创建:

    log_bin = OFF
    

    可以删除文件 (1.*)。

    如果他们不停止,那么我的猜测是错误的。

    如果您确实需要 binlogging(用于复制和/或时间点备份,那么我们需要调查它们的巨大速度。

    我敢打赌你在 6 月 26 日 06:53 左右重启了。

    Rocksdb 可能与问题无关。 (但我可能是错的。)

    【讨论】:

    • 非常感谢。我已经测试过了,正如你所说,这是因为二进制日志。我有另一个与 mysql 相关的问题,关于自定义数据目录。你能帮助我吗?谢谢。 *.com/questions/56797063/…