mysql参数max_open_files,max_connections,table_cache三者之间关系

五月 12, 2011 | 标签 | 浏览
评论 2

 MYSQL测试服务器突然挂了,查看日志原来有以下错误:

Changed limits: max_open_files: 2048 max_connections: 1024 table_cache: 507
 
后来提高以上相关参数,重新启动后,又出现以下错误
Could not increase number of max_open_files to more than 2048
 
看来问题没有找到...
后来从网上才找到真正原因,以上三个参数有以下一定函数关系
table_cache * 2 + max_connections=max_open_files
以上是大约关系,不能绝对等于。
 
而WINDOWS的max_open_files最大值是2048,所以其它两个参数受制于2048.
 
那么如何提高,WINDOWS下max_open_files最大值是2048?
从网上查到,相关信息如下,具体怎么做,还没有搞清
//////////////////////////////
ulimit -n
ulimit 可以查看每個 shell 的使用資源大小,-n 參數在 man page 中是寫 The maximum number of open file descriptors,換句話說,mysql 所處的 shell,真的能開的檔案只是 ulimit -n 的值,在我的系統上 ulimit -n 的值僅有 2048,所以就算 fs.file-max 有幾十萬,mysql shell 可以開的就是 2048 而已,這才是關鍵所在

//////////////////////////////

 

解决办法在 mysql bin? 中输入 mysqld-nt –table_cache=764
mysqld-nt –innodb_open_files=2048 ? 即可!!
table_cache和max_connections 在my.ini 里可调


    相关文章:



发表评论:

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