0

我有几个 MariaDB 10.1.45 实例在具有内存限制的 Linux 容器中运行。

上周,我使用以下参数对所有这些都启用了二进制日志记录:

log-bin = mysqld-bin  
binlog-format = mixed  
expire_logs_days = 1

在那之后,我在其中一些中遇到了几个这样的错误:

[ERROR] mysqld: Error writing file 'mysqld-bin' (errno: 11 "Resource temporarily unavailable")

一些还显示了与前一个错误混合在一起的其他两个错误:

[ERROR] mysqld: Error writing file 'mysqld-bin' (errno: 12 "Cannot allocate memory")
[ERROR] mysqld: Error writing file 'mysqld-bin' (errno: 0 "Internal error/check (Not system error)")

它卡在这个状态,每次尝试执行查询都会报告错误。重新启动服务似乎可以解决问题,至少是暂时的。

有没有人知道它为什么会这样卡住?
如果容器内存不足,mariadb不应该崩溃吗?

我找不到有关此错误和相关二进制日志的任何信息。

4

1 回答 1

1

根据一些文档,虽然可能不是真正新鲜的,例如 B.5.2.18 部分。https://docs.oracle.com/cd/E19078-01/mysql/mysql-refman-5.0/error-handling.html 的“文件”未找到和类似错误 errno: 11可能是由open_files_limit.

于 2021-05-12T08:48:25.983 回答