当前位置:首页 > 未命名 > 正文内容

mysql open_files_limit 和 table_open_cache

程序猿7年前 (2018-09-03)未命名1069

常常地,mysql数据库连接不上,可能是这2个设置的问题,我们来审核一下

open_files_limit

我们可以查看到mysql的打开的文件个数:

lsof -u mysql | wc -l

或者 ps -ef | grep mysql 找到pid

在 cat /proc/pid/limits 下面可以看到open_files_limit

-----------

我们在mysql的配置文件当中增加:

open_files_limit=10000

innodb_open_files=10000

重启如果无效,那么修改linux系统的设定,为mysql用户设置文件数:

修改 /etc/security/limits.cnf 增加:

mysql soft nofile 10000

mysql hard nofile 10000


重启mysql,之后我们在mysql当中查询一下是否生效:

show global variables like '%files%';

-------------------

table_open_cache

参考打开的table的多少,一般情况下,table_open_cache 要大于 open_tables,我们在 my.cnf当中写入:

table_open_cache=2000

无效:

重启mysql居然上述改动无效,搜索了一下网上,这样做:

修改 /etc/systemd/system/mysql.service,在后面增加 LimitNOFILE=10000

重新加载配置 systemctl  daemom-reload

关闭httpd,重新启动mysqld

然后生效了。


然后我们应该在查询下mysql的日志。/var/log/mysqld.log


扫描二维码手机访问。版权声明:本文由橘万家版权所有,严禁转载复制。

本文链接:http://tech.juhome.net/article/14.html

标签: mysql

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。