docker容器中的mysql挂起

时间:2016-11-17 04:47:56

标签: mysql docker

两个docker容器中的两个mysql(5.6.20)实例(1.8.32), master和slave相互建立半同步复制, 然后用户总是在master中运行一些dml或ddl。

十天或更长时间后,连接到slave的所有客户端都将挂起

gdb -p / strace slave mysqld进程挂起

pstack / perf top -p slave mysqld进程不显示任何内容

kill -9不会杀死mysqld进程

docker stop不会停止泊坞窗容器

哪些工具或方法可以帮助找到问题?

1 个答案:

答案 0 :(得分:3)

我今天也一样。在我的例子中,使用docker中的当前“最新”mysql映像,使用docker compose来调出mysql和一系列消费者。 (5.7.16-1debian8)

我已经发布了其中的一些,并且在一周内我看到了几个mysql具有超过100个线程的实例,主机上的所有内存都被消耗,并且容器被挂起。我无法阻止任何事情,我甚至无法重启。只有VM的电源循环才会恢复。

我会尝试监控。我怀疑它在很大程度上取决于基础架构负载(缓慢的VM主机导致备份缓慢查询)。解决方案更可能是mysql调优和docker bug。