MySQL无法远程连接的几种可能
MySQL无法在远程连接,一般情况下可能是:
1.没有权限
mysql库的user表里设置权限
例子:
第一种方法:
grant all privileges on *.* to root@’localhost’ identifies by ‘123456’;1
//给localhost主机(本地)的root用户设置123456密码并开所有权限对所有库的所有表(*.*);如果要不限制主机 则把localhost改成 %
第二种方法:
或者更改user表里的数据达到效果
update user set host=”%” where user=”root” and host=”localhost”;1
//你也可以再生成一个专门用于远程连接的账号,只给增删改查的权限,因为root权限太大了有点危险
grant select,insert,update,delete on *.* to suliang@”%” Identified by “123456”;1
再补充个改用户密码的sql
update user set password=password(‘123456′) where user=’root’ ;1
user表里的host,user,password
localhost 127.0.0.1代表本机
最后,记得刷新mysql的权限
flush privileges;1
2.防火墙开放3306端口
编辑linux防火墙
vim 打开 /etc/sysconfig/iptables文件
-A INPUT -p tcp –dport 3306 -j ACCEPT1
此处-A和-I都可以 前者是追加,后者是插入
如果没有iptables这个文件,可以直接执行
iptables -I INPUT -p tcp –dport 3306 -j ACCEPT1
然后执行 iptables -S 即可保存
3.更改MySQL配置文件
mysql配置文件 my.cnf里面有个
bind_address(绑定地址)的配置
看看默认是不是 bind_address=”127.0.0.1″
如果是,则把127.0.0.1改成 0.0.0.0
然后:wq之后重启mysql即可。