2

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

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

有关如何处理此问题的任何帮助?

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

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

纽约服务器:[1225007.977126] 内存不足:杀死进程 3161(mysqld)得分 245 或牺牲孩子 [1225007.985657] 杀死进程 3161(mysqld)总虚拟机: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

4

1 回答 1

4

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

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

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

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

本文介绍如何在 DigitalOcean 上的 Ubuntu 14.04 上配置 Swap 分区;如何在 Ubuntu 14.04 上添加交换

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

Docker Hub 上的 MySQL 自述文件描述了如何使用自定义配置文件;“使用自定义 MySQL 配置文件”

于 2016-01-18T05:05:43.053 回答