mysql open_files_limit 和 table_open_cache
常常地,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
扫描二维码手机访问。版权声明:本文由橘万家版权所有,严禁转载复制。