20091113关于sql优化的问题的延续,今早发现很多用户连接不上sql服务器,此时用户数量上升至400+,处理一天,终获解决
1、问题一,sql数据库默认的my.ini文件中设置最大连接数无效,最大连接数这是再大也没用
首先,进入sql服务的dos状态,运行cmd打开dos窗口,进入sql的字符控制界面,进入方法,进入sql的安装目录中的bin目录,运行 mysql -u root -p 命令,在随后的提示符中输入密码进入字符管理界面,运行以下三个命令,默认你就是ini控制文件写的很大,启动的时候也只有1910个连接数,起码我的服务器是这个样子。
mysql> show global variables like '%max_connections%'; 此命令获得现在服务器的最大连接数
mysql> set global max_connections=10000; 此命令修改最大连接数为10000
mysql> show global variables like '%max_connections%';查看现有的服务器最大连接数
第一个问题解决,最大连接数不受ini控制问题,但是记得这个数值最大不能超过一万六千多,否则不成。具体是一万六千多多少,偶忘了
2、问题2,系统频繁出现连接不上sql的提示,此问题只出现在win2003操作系统中,查询后得知,问题出在微软的kb967723的tcp/ip安全补丁问题上,打上此补丁后,系统只开启5000以下的端口,当然不够用了,所以频繁出现连接不上的错误。
处理方法:
————————————————————————分界线——————————————————————
两种方法:
第一种:卸载KB967723补丁
登录服务器,进入控制面板 — 添加和删除程序 — (勾选上方的“显示更新”)在里面可以看到更新的KB967723这个补丁,然后就想卸载普通软件一样卸载,卸载中会提示你,如果卸载可能导致程序运行出错,没关系,选择“是”,继续卸载。卸载完成后重启数据库服务器。
第二种:修改注册表
本方法是微软给出的修改注册表修复该Bug的的方法,原因是默认最大的临时 TCP 端口的数是 5000 适用于一节中包含的产品中。 在这些产品中添加一个新参数。 要提高临时端口的上限,请按照下列步骤操作: