小编cjh*_*ell的帖子

如何限制mysql服务器的内存消耗以防止OOM杀死?

oom_killer由于 mysql 在插入longblob列时大量消耗内存,我的 MySQL 实例被 Linux 杀死。还原包含非常大longblob列的 mysqldump 时会发生这种情况。

我已经浏览过类似这个博客的内容,它建议将各种读/写缓冲区设置为不同的大小以限制内存消耗。但是,尽管提到的脚本在调整后输出了 350MB 的“TOTAL (MAX)”内存,mysql 在最终被杀死之前仍然会很高兴地吞噬千兆字节的内存。

这是通过 Docker 的复制:

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=foobar -d --name mysql-longblob mysql:5.7

mysql -h 127.0.0.1 -P 3306 -u root --password -e "CREATE DATABASE blobs; USE blobs; CREATE TABLE longblob_test (bigcol LONGBLOB NOT NULL) ENGINE = InnoDB;"

mysql -h 127.0.0.1 -P 3306 -u root --password -e \
 "SET GLOBAL max_allowed_packet=536870912;" # 512MB

mysql -h 127.0.0.1 -P 3306 -u root …
Run Code Online (Sandbox Code Playgroud)

mysql memory docker

13
推荐指数
1
解决办法
138
查看次数

标签 统计

docker ×1

memory ×1

mysql ×1