看到你说的网站正常运行,推断您是否web项目?配置了数据库连接池了没有,如果配置了连接池的话,很可能的一种情况是,服务池子里的线程都是无效连接了。你可以查一下 show gloal variables like ‘wait_timeout’ 看下连接最长等待时间,和你配置的idleConnectionTestPeriod连接测试周期是按配置。并且观察下日志是否报
The last packet successfully received from the server was 26,531,513 milliseconds ago. The last packet sent successfully to the server was 26,531,514 milliseconds ago.类似错误
是web项目,之前都是好好的。今天发现有病毒,遭受来自美国的sql攻击,不知道是不是这个原因导致的。iis里面都是发布后就没动过是可以连接的。只是sa用户的密码老是过时就失效,无法和应用程序连接。在程序的应用日志里面监测的也是数据库连接不上的一些错误信息,这种情况比较少。应该是数据库哪里的设置问题。
@objnet: db放内网里面来,关闭外网针对1433端口的访问,把sa密码设的超复杂,设定为不可过期。
你其他应用连db的时候应该使用新建的账户,而且要把权限给限制住。
@Daniel Cai: 正当要回复你内容的时候去看了下网站,还是挂了,不过今天上班基本正常,下班六点的时候我还看了下,因为公司事业部是不同地方。所以必须是外网,我有设置过密码复杂的。由于这个库关联很多网站,有些是其他服务器有连接,且之前都是有专业的网络公司开发维护,具体有多少个地方也不太清晰,关键是我改了密码后,他们可以用系统,但是打印单据就出问题。改回来又可以打了。网站都是封装的厉害,不敢乱动,近期正计划重新开发覆盖这个erp.呵呵说的有点多。谢谢你的回答。
sa权限太大了,放在外网的服务,建立独立的很少权限的数据库连接用户,及时被注入也可以有限损失
我已将密码改为比较复杂的。看看今天会不会正常。昨晚改后到现在是正常的
我在网上有说是服务器断电和中毒有此情况,主要是对数据库的管理控制太不熟了。没有专门的DBA。