前两天我的阿里云ECS服务器出故障了,mysql停了,查看mysql日志发现有如下报错:
Changed limits: max_open_files: 2048 max_connections: 1910 table_cache: 64
网上搜了几篇关于mysql的max_open_files和max_connections两个参数相关的资料,找到了解决方案,分享如下:
在windows下安装Mysql系统日志出现max_open_files: 2048 max_connections: 510 table_cache: 764 类似错误是因为 max_connections 最大连接数和max_open_files、table_cache 不匹配。适当的降低max_connections 或调整其他两个数值
解决办法在 mysql bin > 中输入 mysql-nt --table_cache=764
mysql-nt --innodb_open_files=2048 即可!!
table_cache和max_connections 在my.ini 里可调
Changed limits: max_open_files: 2048 max_connections: 1024 table_cache: 507
max_connections=1024
table_cache=500
附:
以上是由于你的my.ini 或者my.cfg等等里面的 max_connections 和table_cache设置不对造成的。系统为你自动调整为相对比较接近的数值。
max_connections,table_cache不是越大越好。请参考以下公式进行匹配:
由于max_open_files是固定的,在windows里面只能是2048.
2048= max_connections+table_cache*2
原则上说来,只要设置好了一半就不会报错了,最好是后面设置为稍微小于2048,不要等于。
在学mysql的过程中,会遇到各种各样的问题,这时候一定不要打退堂鼓,好好研究日志,详细你会很快提供自己的技术水平。
相关资源推荐:
MySQL 5.1中文参考手册,有空多看看吧。