Mysql数据库服务器连接失败的问题处理

一、数据库连接失败的情况

  1. 数据库服务没有正常运行或者服务器已经卡死;
  2. 账号没有权限或者配置文件绑定了连接IP地址;
  3. 服务器防火墙iptables没有开放端口;
  4. 服务器防火墙selinux没有开放httpd服务连接数据库权限。

二、查找解决数据库服务失败的原因

说明:以下解决方法在linux中处理,windows中查找方法类似

  1. 登录服务器查看服务器是否有报错信息以及内存用量是否已经用完

#free –m

  1. 通过以下命令检查现有开机启动的项目

检查Mysqld服务开机启动是否正常,如果在中途有重启过服务器,并且没有设置mysqld为开机服务器自启动,可能导致连接数据库失败。

#chkconfig –list |grep mysqld

92-1

  1. 检查现有运行服务中是否有mysqld

#pstree

92-2

  1. 查看配置文件是否指定或者绑定了访问的IP地址

92-3

在社区版本5.1版本之后,配置文件中一般不会默认存在绑定IP地址的配置,之前在ubuntu的mysql配置文件中有存在过类似语句。如果有可以删除或者注释该语句。

  1. 防火墙iptables状态检查

#service iptables status

92-4

  1. 检查selinux运行状态

# sestatus –v

92-5

  1. 检查selinux中httpd服务权限

#getsebool -a | grep httpd

92-6

其中有一项 httpd_can_network_connect_db –> off 为关闭状态,现在我们将其开起来,完成之后在selinux上允许链接数据库:

#/usr/sbin/setsebool -P httpd_can_network_connect_db on

 

  1. 终极大招:重启服务器

以上完成之后,一般情况如果还是不行,将数据库服务器重启一下,可以再检查服务器错误日志文件记录的内容,查找是否有其他原因导致服务启动失败。

发布者

勿忘心安

一念净心花开遍世界!