客户端无法连接MySQL服务

主要介绍MySQL客户端无法连接(远程连接)MySQL服务器的原因。

这里就不在过多的介绍MySQL的安装方式,不过需要的同学,可点击CentOS 6.5 版本下 MySQL 5.1.73 版本的安装查看。

首先介绍一下服务部署情况:

服务器 服务
服务器A MySQL服务
服务器B WEB服务

MySQL服务和web服务都部署成功以后,去登陆服务器B启动web服务,发现web服务启动异常,一直在提示无法连接到数据库,这就尴尬了!

首先猜测,有可能是服务器B的防火墙设置不正确,MySQL服务所需的3306端口没有开放。

登陆服务器B,查看,确实3306端口没有开放,于是调用如下指令开启3306端口:

1
# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

然后保存:

1
# /etc/rc.d/init.d/iptables save

再次确认3306端口是否已打开:

1
# /etc/init.d/iptables status

服务器B打开3306端口后,重启服务器A的web服务,发现还是在一直报异常,无法连接数据库!这就纳闷了?还有什么没有修改的吗?为什么通过root用户无法远程连接呢?

查了半天资料发现:安装了MySQL之后,MySQL的root用户默认是不开放远程访问权限的。也就是说root用户默认只能通过本地连接。

所以安装完MySQL以后需要我们手动去为root用户添加远程访问权限,具体操作如下:

1
mysql> grant all on *.* to root@'%' identified by 'your_password';

然后重启MySQL服务就OK了。

1
/etc/init.d/mysql restart

重新启动web服务,发现服务终于启动正常了。

推荐文章