定位结果如下:

客户环境:

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的正确配置。特别注意配置文件中LoadModule, 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

mysql 修复错误连接_mysql 无法连接问题的定位和修复过程分享相关推荐

  1. mysql 左连接_MySQL左连接与右连接

    前几次面试的时候遇到左右连接的问题,这里进行回顾. 先通过下面两个表展示一下左连接和右连接的结果 左连接与右连接 员工表: mysql> select * from employ;+------ ...

  2. mysql 左连接 和全连接_mysql左连接,右连接,内连,全连

    mysql> #首先建立两张表A,B,查看下表结构 mysql> desc A; +-------+-------------+------+-----+---------+------- ...

  3. mysql内外三种连接_mysql之内连接,外连接(左连接,右连接),union,union all的区别...

    内连接,外连接,左连接,右连接,全连接 测试数据: CREATE TABLE `a_table` ( `a_id` int(11) DEFAULT NULL, `a_name` varchar(10) ...

  4. mysql concat 变量_MySQL 字符串连接CONCAT()函数

    MySQL字符串连接函数 使用方法: CONCAT(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. 注意: 如果所有参数均为非二进制字符 ...

  5. mysql字段相同连接_mysql字符串连接,重复等字符串函数总结

    mysql concat()函数 MySQL的concat函数可以连接一个或者多个字符串,如 selectconcat('10'); 输出 10 selectconcat('11','22','33' ...

  6. mysql 全连接_MySQL全连接(Full Join)实现,union和union all用法

    MySQL本身不支持你所说的full join(全连接),但可以通过union来实现 , 下面是一个简单测试,可以看看: mysql> CREATE TABLE a(id int,name ch ...

  7. mysql丢失链接_MySQL远程连接丢失问题解决方法

    最近远程连接mysql总是提示 Lost connection to MySQL server at 'reading initial communication packet', system er ...

  8. mysql join 排序_MySQL查询优化:连接查询排序limit(join、order by、limit语句)

    本文链接:https://blog.csdn.net/xiao__gui/article/details/8616224 不知道有没有人碰到过这样恶心的问题:两张表连接查询并limit,SQL效率很高 ...

  9. mysql federated引擎_MySQL 远程连接(federated存储引擎)

    概述 本文主要介绍通过federated存储引擎建立远程连接表 测试环境:mysql 5.6.21 步骤 开启federated存储引擎 先查看federated存储引擎存储引擎是否启用 SHOW E ...

最新文章

  1. 指针数组,数组指针,指针函数,函数指针,二级指针详解
  2. requests---requests简介
  3. Apache + PHP为什么不能在www目录下写文件以及如何解决PHP写文件问题
  4. mysql脚本转成oracle脚本_mysql脚本手动修改成oracle脚本
  5. 如何取消计算机阻止安装程序,Win10电脑安装软件提示“你必须取消阻止该发布者才能运行此软件”怎么办...
  6. 前端学习(1778):前端调试之cookie原理和查看
  7. 搜索计算机硬盘的索引恢复,可以做到秒搜的神器everything,你可知对硬盘到底有多大伤害...
  8. 如何在js中使用ajax请求数据,在 JS 中怎么使用 Ajax 来进行请求
  9. javasrcipt的作用域和闭包(二)续篇之:函数内部提升机制与Variable Object
  10. mysql bin 恢复工具_基于binlog恢复工具mysqlbinlog_flashback
  11. php文档头,头部文档(header.php)
  12. 输入法黑科技:语音识别准确率98% 用户超过6亿
  13. android 第三方圆弧进度条,Android 圆弧进度条 水平进度条 水波进度条
  14. 10M/S!百度网盘偷偷更新,终于实现下载免费不限速了!
  15. VScode:禁止VScode自动升级
  16. 微信小程序—连接MQTT
  17. 网站打开速度优化:如何提高网页加载速度,提升网页打开速度
  18. iOS 模拟器(Simulator) 简介
  19. 编程生成一个瓶子(1)
  20. esp8266连接mqtt服务器

热门文章

  1. 电路常识性概念(6)-VCC、VDD和VSS三种标号的区别
  2. nginx 域名配置_nginx 一个域名配置多个vue项目
  3. mysqld install mysql default_MySQL安装默认配置
  4. php curl和file get,PHP cURL与file_get_contents
  5. python api是什么_python – 如何处理API响应
  6. 电子科技大学20春《c语言》在线作业1,[电子科技大学]20秋《C语言》在线作业123(答案)...
  7. node获取图片路径_使用软连接来解决 Drupal jsonapi 中 Node 节点图片相对路径的问题...
  8. 我的Java设计模式-建造者模式
  9. 对于牛老师作业陈老师作业补充(老陈、小石头的典型用户、用例图、场景)...
  10. Delphi 正则表达式语法(9): 临界匹配 - 也叫预搜索与反向预搜索