mysql docker容器经常崩溃

标签 mysql wordpress docker mariadb botnet

我正在使用 mariadb 和 wordpress 容器。但是这个错误一直在发生。我怎样才能确保不再发生这种崩溃?我被攻击了吗?或者这是其他人遇到的问题?我如何附加到 mariadb 并访问 shell 并尝试找出 mariadb 容器内发生的事情?

请参阅下面每次崩溃后记录的消息...页面点击率似乎也很高。页面访问次数高达 20.000 到 60.000 次。这些似乎是爬虫、机器人的工作。不确定这些是否是恶意攻击。

关于如何处理这个问题有什么帮助吗?

我有 mariadb、wordpress 和 phpmyadmin 在 digital ocean 上的 ubuntu 14 下的三个 docker 容器中工作。 以下是崩溃消息:

[1668002.926214] 内存不足:杀死进程 16765 (mysqld) 得分 176 或牺牲子 [1668002.935614] 杀死进程 16765 (mysqld) total-vm:1012836kb, anon-rss:178840kb, file-rss:0kb [1668040.992415] 终止进程 22570 (php5-fpm) total-vm:418044kB, anon-rss:145392kB, file-rss: 20624kB

纽约服务器: [1225007.977126] 内存不足:杀死进程 3161 (mysqld) 分数 245 或牺牲 child [ 1225007.985657] killed process 3161 (mysqld) total-vm: 977148kb, anon-rss:122488kb, file-rss:0kB)

法兰克福服务器 [1632264.057873] 内存不足:杀死进程 22421 (mysqld) 得分 246 或牺牲子进程 [1632264.067530] 终止进程 22421 (mysqld) total-vm: 1005228kb, anon-rss:249328kb, file-rss:0kb

最佳答案

Docker Hub 上的官方 MySQL 镜像使用 MySQL 推荐的配置。基本上,默认配置针对性能进行了调整,旨在用于在具有大量内存(数 GB)的专用服务器上运行 MySQL。

根据您的要求和可用资源调整 MySQL 设置

当在小型 DigitalOcean 液滴(512MB、1GB)上的容器中运行 MySQL 时,您必须修改默认设置以适应您的情况。例如;限制同时连接的最大数量、更少的查询缓存等。

另请注意,默认情况下,DigitalOcean droplets 没有配置交换,这意味着如果内存不足,它们将无法使用 SSD 进行交换。在这些液滴上配置 Swap 很重要,这样 MySQL 就不会在临时需要更多内存时崩溃(例如,在重新索引数据库时)。

本文介绍了如何在 DigitalOcean 上的 Ubuntu 14.04 上配置 Swap 分区; How To Add Swap on Ubuntu 14.04

官方 MySQL Docker 存储库上的以下问题包含一些针对“性能”或“内存效率”调整 MySQL 设置的提示;

Docker Hub 上的 MySQL 自述文件描述了如何使用自定义配置文件; "Using a custom MySQL configuration file"

关于mysql docker容器经常崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34847431/

相关文章:

mysql - Docker:推迟依赖另一个容器的启动操作?

mysql - SQL:搜索/替换,但仅在值第一次出现在记录中时

mysql - 如何使用 orderBy 对 Eloquent 查询进行分页。加入时

perl - 无法在 docker 中安装 perl 模块 PerlIO::locale

html - 如何修复从移动设备查看时变得不可见的文本

css - 我的页眉处于固定位置并且我遇到了 Disqus 问题。

git - 如何将存储库维护成单个存储库

php - mysql_insert_id 和我的困境?

mysql - 棘手的 CTE - 递归 sql(编辑我的查询)

php - WordPress is_home() 未按预期工作