Mysql远程连接失败原因(数据库在linux;持续更新中。。。)
1:查看防火墙状态,如果开启,则需关闭防火墙。
service iptables status可以查看到iptables服务的当前状态。
但是即使服务运行了,防火墙也不一定起作用,你还得看防火墙规则的设置 iptables -L
在此说一下关于启动和关闭防火墙的命令:
1) 重启后生效
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后失效
开启: service iptables start
关闭: service iptables stop
2赋予远程链接的权限
在内网上试了一下连接另一台机子上的数据库,出现了一个问题。报1103的错误。
解决很简单:
一。修改root的权限
USE mysql;
SELECT 'host' FROM USER WHERE USER='root';
UPDATE USER SET HOST = '%' WHERE USER ='root';
FLUSH PRIVILEGES;
第一句是以权限用户root登录
第二句:选择mysql库
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址
第五句:刷新MySQL的系统权限相关表
二。专门增加一个新用户
比如想允许用户user从ip为192.168.0.18(把192.168.0.18换成 % 所有电脑都能链接)的主机连接到mysql服务器,并使用pwd作为密码
GRANT ALL PRIVILEGES ON *.* TO 'user'@'192.168.0.18' IDENTIFIED BY 'pwd' WITH GRANT OPTION;
FLUSH PRIVILEGES;
**我使用的是第二种方法**