问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql 无法连接问题的定位和修复过程分享

发布网友 发布时间:2022-04-22 04:15

我来回答

1个回答

热心网友 时间:2022-04-07 16:45

定位结果如下:
客户环境:
windows
server
2003
r2
standard
edition
sp2
mysql
Ver
14.12
Distrib
5.0.18,
for
Win32
(ia32)
apache
2.2
瑞星
webshield客户端1.08
问题已复现。可以优化,无法确定是webshield导致的。
搭建环境:
windows
server
2003
r2
standard
edition
sp2
mysql
5.0.18
for
win32
apache-2.2.21-win32-x86-no_ssl
php-5.2.17-win32-vc6-x86
瑞星23.00.50.25
搭建环境过程中遇到的几个问题:
在下载apache与php时,请注意apache与php匹配问题。
a)PHP5.3有VC6与VC9版本,应选择VC6版本。原因如下:
i.
VC6版本是使用Visual
Studio
6编译器编译的,如果你的PHP是用Apache来架设的,那你就选择VC6版本。
ii.
VC9版本是使用Visual
Studio
2008编译器编译的,如果你的PHP是用IIS来架设的,那你就选择VC9版本。
b)PHP5.3的Thread
Safe和Non
Thread
Safe版本。Apache
no_ssl版应与php
Thread
Safe版搭配。若与Non
Thread
Safe搭配,apache启动出错:“Apache
is
running
a
threaded
MPM,but
your
PHP
Modle
is
not
compiled
to
be
threadsafe.
You
need
to
recompile
PHP.”
i.
Thread
Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread
Safe版本;
ii.
Non
Thread
Safe是非线程安全,在执行时不进行线程(Thread)安全检查。FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non
Thread
Safe版本。
注意apache对网站及PHP的正确配置。特别注意配置文件中LoadMole,
PHPIniDir,DocumentRoot,ServerRoot,Directory,DirectoryIndex,AddType
application/x-httpd-php等项的配置
安装后
mysql
后(管理员账号密码:admin/admin),在PHP代码中使用admin连接数据库失败,cmd执行mysql
–u
root
-p启用root用root可正常连接数据库。
问题复现:
PHP最长执行时间*。
a)php最长执行时间默认为30秒,超过30秒后被中止执行,与mysql的连接也被断开。
b)尝试增大此值,修改php目录下的php.ini配置文件,将max_execution_time
=
30
改为max_execution_time
=
300。如果设为0,表示不*PHP最大执行时间。
c)避免了因最长执行时间*而导致mysql连接失败。
网站流量大导致mysql无法连接。
a)编写php脚本对mysql进行测试,发现当对mysql进行频繁的连接/断开操作时,mysql很快出现无法连接问题(错误代码:10048)。当中止所有连接,2分钟后mysql又恢复正常。若不停止连接,mysql一直无法连接。
b)尝试从两方面优化:
i.
修改windows注册表项TcpTimedWaitDelay值为30(默认为240秒),减少此条目的值允许
TCP/IP
更快地释放已关闭的连接,
为新连接提供更多资源。
ii.
修改windows注册表项MaxUserPort为53768
(该值表示从系统请求任何可用用户端口时所用最大端口数,TCP/IP
可指定的最高端口号,默认值为5000)以处理更多的请求。
c)修改完注册表项后测试,mysql情况大有改善:mysql连接错误出现的情况大有减少,出错后自我恢复的能力大有提高。
针对以上两种情况,分别对安装了webshield
1.08与未安装webshield
1.08进行了测试,两者测试结果一样。
优化:
max_execution_time的修改:
打开php目录下的php.ini文件,找到max_execution_time
=
30
这行,将30修改为想要的数字。
TcpTimedWaitDelay与MaxUserPort的修改:
复制代码
代码如下:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"TcpTimedWaitDelay"=dword:0000001e
"MaxUserPort"=dword:00008000
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? 如何做面包更松软好吃 mysql连接数据库失败,请确定数据库用户名,密码设... 怎么做面包更好吃 面包店面包怎么做好 mysql连接错误 面包怎么做好呢? MySQL为什么连接不了? 如何做面包好吃 怎么做面包好吃 面包怎么做简单又好吃 面包的做法怎么做好吃怎么做? 怎样做才能做出一款好吃的面包呢? 手机和电脑使用同一个,聊天记录能够同步吗? 求耳机排行榜,有哪些比较推荐? 是索尼的耳机更好还是beats耳机更好? 手机耳机哪个牌子好 bose耳机和深海塞尔 beats 哪个好 耳机的排名。我比较喜欢德国森海塞尔耳机。还有哪... 求推荐耳机,索尼还是beats beats urbeats是hifi耳机吗 如何做好丹麦面包 好的面包如何做 连接mysql错误2013 跪求草莓视频高清资源在线观看,【免费高清】在线... 数据库保护包括哪四个子系统 mysql数据库连接问题 如何做好面包的计划 手机和电脑使用同一个,聊天记录能够同步吗? mysql5.7.12报错如下情况导致无法连接数据库应该怎... 数据库提供的安全保护功能包括哪四个方面?解释它... MYSQL连接问题 跪求草莓视频在线观看高清,【在线观看】免费百度... MySQL连接出现这个问题该怎么办? 企业数据安全保护软件有哪些? 在连接到MySQL错误问题,怎么解决 S.A特优生好看吗?上哪找? 连接mysql数据库问题 苹果手机如何卸载不可移除的描述文件 一个完整的数据库包含哪些数据库文件,其中哪些是... 连接mysql数据库时报错如何解决?