HOPE 发表于 2015-7-17 14:29

MariaDB增加open_files_limit解决备份出错

今天检查MariaDB数据库备份情况,发现最近两天都备份一半不到就出错了,检查发现是

Couldn't execute 'SHOW TRIGGERS xxx Out of resources when opening file xxx

进MariaDB检查show variables like '%open_files_limit%'; 发现才1024,这是默认值。
根据网上的资料,在my.cnf增加 open_files_limit = 10000这样的参数,重启MariaDB发现无效。再找了个老外的网站,试验方法有效。

1、mkdir -p /etc/systemd/system/mariadb.service.d/

2、vim /etc/systemd/system/mariadb.service.d/limits.conf 写入如下内容:

LimitNOFILE=10000

3、systemctl daemon-reload

4、systemctl restart mariadb

再进MariaDB检查参数生效,可以正常备份了。
MariaDB [(none)]> show variables like '%open_files_limit%';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| open_files_limit | 10000 |
+------------------+-------+

如果系统有限制,ulimit -n 不够,则加入如下:
ulimit -HSn 65535
或直接在/etc/profile加入ulimit -HSn 65535。

LIBM 发表于 2015-7-17 14:38

MUDboy 发表于 2015-7-17 14:54

HOPE也要亲自做这类事情么?

rainyxia 发表于 2015-8-4 23:44

改ulimit会影响到一些程序, 比如用epoll的程序启动的时候内存占比.
因为程序启动的时候要根据最大的文件句柄数来预留slot, 每个slot要占几B到几K的资源...太大就浪费了内存..
页: [1]
查看完整版本: MariaDB增加open_files_limit解决备份出错