服务器上搭建好的mysql数据库外部连接不了主要有以下两种原因:
1.一个是当前用户被mysql服务器拒绝,
2.是3306端口被被防火墙禁掉,无法连接到该端口。解决方法如下:
针对第一点的解决方法:
1.设置远程用户访问权限:
登录数据库
mysql -u root -p
mysql>use mysql;
%为所有ip都可以远程访问
mysql>update user set host = ‘%’ where user = ‘root’;
或直接添加一个可以登录的IP以及账号密码,
mysql>insert into user (host,user,password) values(‘192.168.0.51’,’root’,password(‘123’));
查看一下修改
mysql>select host, user from user;
//推送设置到内存或重启服务器也行
mysql>FLUSH PRIVILEGES
其实几乎所有的问题都是上面的情况导致的,如果是第二种情况
vim /etc/sysconfig/iptables 之后添加一条
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出就行。