MYSQL /MariaDB - TokuDB ... 设备上没有 space

MYSQL /MariaDB - TokuDB ... no space left on device

尽管硬盘驱动器上还剩下一些 space,使用 tokuDB 存储引擎在 table 上的任何插入操作都会失败,并显示错误:

错误代码:1021。磁盘已满();等待有人释放一些 space...(错误号:189 "Disk full")

其他存储引擎(例如 innodb )上的插入仍在工作。

有一个toku系统参数叫做:tokudb_fs_reserve_percent

复制自https://mariadb.com/kb/en/mariadb/documentation/storage-engines/tokudb/tokudb-system-variables/#tokudb_fs_reserve_percent

说明:如果文件系统的这个百分比没有空闲,将禁止插入。推荐值是可用内存大小的一半。一旦禁用,插入将在两次储备可用时重新启用。如果磁盘已满,TokuDB 将完全冻结。 范围:全球 动态:否 数据类型:数字 默认值:5

所以默认值为5%。要么将 /etc/mysql/conf.d/tokudb.cnf 中的参数更改为较低的值,例如

tokudb_fs_reserve_percent=0

或者您释放一些磁盘 space。