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。 HOPE也要亲自做这类事情么? 改ulimit会影响到一些程序, 比如用epoll的程序启动的时候内存占比.
因为程序启动的时候要根据最大的文件句柄数来预留slot, 每个slot要占几B到几K的资源...太大就浪费了内存..
页:
[1]