我搜索了主题主题和测试选项,但我仍然无法增加我的mariadb服务器上的open-files-limit,该服务器用作cpanel / whm服务器的远程数据库服务器 . 这是很好的参考http://duntuk.com/how-raise-ulimit-open-files-and-mysql-openfileslimit
我增加了它
/etc/my.cnf
open-files-limit=65550
这是一些结果
#ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 63471
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65535
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
最大用户进程(-u)65535虚拟内存(kbytes,-v)无限制文件锁(-x)无限制
#ulimit -Hn -Sn
open files (-n) 65535
open files (-n) 65535
cat /etc/systemd/system/mariadb.service.d/limits.conf
[Service]
LimitNOFILE=65500
cat /usr/lib/systemd/system/mariadb.service
[Unit]
Description=MariaDB database server
After=syslog.target
After=network.target
[Service]
Type=simple
User=mysql
Group=mysql
LimitNOFILE=infinity
LimitMEMLOCK=infinity
我仍然在mysql中
显示全局变量,如'open%';
| Variable_name | Value |
| open_files_limit | 1024 |
1排(0.00秒)
并在重新启动后反复出现以下错误
60108 16:30:02 [ERROR] mysqld: Can't open file: './username_wp/wp_users.frm' (errno: 24)
160108 16:30:02 [ERROR] Error in accept: Too many open files
160108 16:30:04 [ERROR] Error in accept: Too many open files
160108 16:30:06 [ERROR] Error in accept: Too many open files
160108 16:30:11 [ERROR] mysqld: Can't open file: './username_db/strikes.frm' (errno: 24)
这是mariadb的启动日志
[Warning] Could not increase number of max_open_files to more than 1024 (request: 132107)
7 回答
RH / CentOS mariadb集成安静令人困惑,在某些地方使用mariadb作为其名称,mysqld在其他地方......
您应该在/etc/systemd/system/mariadb.service.d/中编辑(或创建).conf文件 . 例如:/etc/systemd/system/mariadb.service.d/centreon.conf
然后编辑为kujiy建议
不要忘记重新加载systemd服务文件:
# systemctl daemon-reload
塞德里克
这是一个操作系统问题 .
我想你必须在
/etc/security/limits.conf
中增加"hard limit",如下所示:然后使用
ulimit
来增加"soft limit" .最后我找到了解决办法但没有任何合理的理由我正在运行MariaDB 5.5并且所有设置都很好,但软限制不超过1024!我认为我的mariadb是10.0,因为我刚刚安装它
在我发现它的5.5我试图将其升级到v10.0之后!然后是BOOM!没有任何额外的操作或设置解决问题(内核设置允许最大文件限制,如参考链接中所述)
我希望它可以帮助其他人有同样的问题(但尝试所有其他必要的设置后)
我从official repo安装了带有MariaDB 10.0.29的CentOS 7.3 .
出于某种原因,systemd单元名为
mysql
,我必须创建/etc/systemd/system/mysql.service.d/oioki.conf
:之后不要忘记运行
systemctl daemon-reload
.你可以在mariadb.service文件中看到官方说明;
虽然我认为这应该写在official manual ...
我在使用软件集合(SCL)和SystemD运行RedHat Enterprise Linux 7.2时遇到此问题
在我的情况下硬限制是好的,但软限制被卡在1024
新旧概述
请注意,旧的initl.d包装器脚本以root身份运行,但新的SystemD包装器脚本以“mysql”运行 . 这可能导致mysql_safe不调用ulimit . 在我的情况下,在SystemD中设置LimitNOFILE没有帮助 - 它所做的只是增加包装器的文件限制,但不是为守护进程本身 . 我找到了两个步骤让它运转起来
步骤1 - 将mysqld_safe部分重新设置为conf文件,以便mysql_safe读取它
第2步 - 创建一个SystemD drop-in以root身份启动包装器(守护进程仍然以'mysql'的形式运行) . 请注意,LimitNOFILE已注释掉 .
重新加载SystemD服务文件
现在重新启动服务,在mysql客户端检查open_files_limit的值现在应该说是2048(新的软限制)
正确的解决方案可能是摆脱包装并使用原生SystemD .
UPDATE 看起来这是在更新的版本中修复的,它不再使用mysql_safe包装器
要在Centos 7上增加MySQL 5.6中的开放文件限制,您必须:
添加在文件的末尾:
然后:
完成! ,我认为对于MariaDB来说是一回事