Возможно, вы не закрываете соединения, когда закончите с ними.
Войдите в базу данных как пользователь root и выполните этот запрос:
select HOST, COMMAND, count(*) from INFORMATION_SCHEMA.PROCESSLIST group by 1, 2;
Это даст вам вывод, который выглядит следующим образом:
+-----------+---------+----------+
| HOST | COMMAND | count(*) |
+-----------+---------+----------+
| localhost | Query | 1 |
| localhost | Sleep | 1 |
+-----------+---------+----------+
Если у вас два пользователя со стабильными IP-адресами, вы, вероятно, увидите четыре строки вывода: по две для каждого пользователя, с большим счетом для Sleep
. Это означает, что вы оставляете соединения открытыми.
Однако, если вы работаете на мобильном телефоне, IP-адреса могут быть нестабильными. Вам нужно будет провести второй уровень анализа, чтобы увидеть, все ли они принадлежат одному и тому же провайдеру.
Единственный способ, которым DDOS может заполнить ваш пул соединений, - это если вы утекли пароль базы данных. Если это так, вы должны считать вашу базу данных поврежденной и начать заново (с большим вниманием к безопасности).