Mysql MariaDB max_打开超过600k的文件

Mysql MariaDB max_打开超过600k的文件,mysql,mariadb,Mysql,Mariadb,关于max_open_文件的问题已经被问了一千次。但是,大多数情况下建议将限制设置为65535左右。然而,我们的警告是mysql试图打开超过640k个文件。我们将限额增加到768k。然而,文档表明1024x1024(1048576)是linux的限制 基本上,有没有办法找出为什么我们有这么多打开的文件?我们只有1个中等大小的db(小于300mb)和6-8个非常小的db。如果1024x1024真的是极限,在6个月或更短的时间内,我们似乎可以超过这个极限。然后呢?数据库会崩溃吗?MySQL还会为其他

关于max_open_文件的问题已经被问了一千次。但是,大多数情况下建议将限制设置为65535左右。然而,我们的警告是mysql试图打开超过640k个文件。我们将限额增加到768k。然而,文档表明1024x1024(1048576)是linux的限制

基本上,有没有办法找出为什么我们有这么多打开的文件?我们只有1个中等大小的db(小于300mb)和6-8个非常小的db。如果1024x1024真的是极限,在6个月或更短的时间内,我们似乎可以超过这个极限。然后呢?数据库会崩溃吗?

MySQL还会为其他事情打开一个“文件”,但打开大量文件的主要原因是连接

MySQL和几乎所有数据库的行为都是这样的,每个连接都算作一个打开的文件

您可以通过以下方式检查连接数:

SHOW STATUS LIKE '%Threads_connected%';
您可能需要调整max_connections参数,并从应用程序的角度查找持久连接和池

如果您的数据库出现故障、连接中断或某种“dos”,您可以使用以下方法检查正在执行的进程:

SHOW FULL PROCESSLIST;
最终用以下方法杀死一些奇怪的东西:

KILL <pid>; -- the id from the command above
KILL;——上面命令中的id

感谢您的澄清。将连接计算为打开的文件可以解释很多问题。我们确实收到很多机器人和dos攻击。我们将尝试你列出的那些命令,看看它会把我们带到哪里。如果有帮助,请投正确的一票:D,无论如何,如果你使用的是Linux,fail2ban可能会有帮助。只是提醒您,数据库永远不能从公共接口访问。您需要一个VPN或SSH隧道来管理。应用程序应该从内部连接。我们的数据库只能从127.0.0.1访问。坏机器人或暴力强迫仍然会打开很多桌子,对吗?这算是打开的文件吗?或者我们误解了。任何连接、故障EDM或notm都会打开一个文件。但是,如果您的数据库只能从localhost访问,则bot和其他东西无法稳定tcp连接以创建文件描述符。您自己的具有持久连接的应用程序。。。也许吧?我不认为有一个
max\u open\u files
。有
打开的\u文件\u限制
打开的\u文件
。请检查拼写。