Could not increase number of max_open_files to more than 1024

MySQL 启动报错: Could not increase number of max_open_files to more than 1024

这意味着在某个地方达到了限制。让我们通过编辑任何配置的限制来解决此问题。请查看以下文件:

/etc/systemd/system/mariadb.service.d/migrated-from-my.cnf-settings.conf
/etc/systemd/system/mysqld.service.d/limits.conf
/usr/lib/systemd/system/mariadb.service
/usr/lib/systemd/system/mariadb.service
/etc/systemd/system/mysql.service
/etc/systemd/system/mysqld.service

在这些文件内查找以下配置行:

LimitNOFILE=
LimitMEMLOCK=

将这些行更改为新的限制。例如:

LimitNOFILE=100000
LimitMEMLOCK=100000

请不要使用无穷大作为值,它默认为 65536。因此,如果您看到值无穷大,请将其替换为所需的限制。

更新:相关的MySQL或MariaDB文件可能位于非RHEL系统上的其他位置。例如,在 Ubuntu 上创建一个新文件 /etc/systemd/system/mysql.service.d/override.conf,然后在那里添加新的限制:

LimitNOFILE=100000

完成此操作后,您现在应该重新加载系统守护程序并重新启动MySQL服务:

systemctl daemon-reload
systemctl restart mysql

通过MySQL命令行检查新限制。您可以使用以下查询:

SHOW VARIABLES LIKE 'open_files_limit';

确保设置了新的限制:

MariaDB [(none)]> SHOW VARIABLES LIKE 'open_files_limit';
+------------------+--------+
| Variable_name    | Value  |
+------------------+--------+
| open_files_limit | 100000 |
+------------------+--------+