帮助中心FAQ

如何处理Mysql报错

  

1. 环境此例针对的是 Mysql 数据库 在 windows 平台下的报错处理; Linux非常类似只是安装目录不同

2. 现象数据库无法启动网站访问时因不能从数据库获取数据页面显示不完整且报错, 影响用户体验

3. 问题如下

 

 

提问你好我访问网时候报错如下,  我应该怎么判断是不是数据库的问题?  

 

回答根据报错提示源代码连接数据库时无法连接你可以使用cmd命令:  netstat –an | find “:3306” 确定下数据库是否在监听 以及mysql 在任务管理器里面是否有进程(访问网站abc.com 浏览器提示报错如下)



提问请问一下如数据库正在运作 ,但是依然报以上错误应该如何处理

 

回答首先你要启动cmd 终端然后基于绝对路径执行mysql 命令,  例如:  开始 -> 运行-> cmd -> D:/hosting/system/Mysql/Mysql ,  进入管理界面后,  show variables like %error%;   即可找到错误日志所在的绝对路径(例如 D:/hosting/system/Mysql/mysql_error.log  ) ;  打开错误日志后可根据报错提示进行处理例如下面 

由于某个表的属性文件 hs.frm 损坏导致数据库无法启动最后hs.frm 表删除后数据库运作正常



提问数据库起不来是什么原因

 

回答请根据错日日志报错提示处理, 例如上面的例子就是 数据表损坏, 导致不稳定, 数据库启动后5分钟, hs.frm 表被访问数据库自动关闭处理该表后数据库运作正常 

 

 

 

提问如果 hs异常里面内容有损坏当时你们是如何处理的

 

回答 由于Mysql 实例承载了100数据库hs只是其中一个库的其中一个表删除他后可以使得其他99数据库运作正常 ,消除网站报错问题当时我们根据抓大原则删除了 hs相关文件例如 hs.frm属性文件(文件修改日期) , hs.MYD数据文件  hs.MYI索引文件 ;  然后数据库即可运作正常

 

 

提问hs表被删除了对网站会造成什么影响 能否恢复呢

 

回答hs表只是其中一个网站子页面以来的表删除只有某个分支产品页面不能显示影响不大由于数据库定期有备份我们建议客户利用备份数据进行还原恢复单个表即可当然首先要备份机上 mysqldump –u”用户名” –p”密码” “”.””  > hs.sql 导出hs然后在目标机执行还原操作mysql –u”用户名” –p”密码” “”.”” < hs.sql ;