[转载]mysql远程连接错误1130的解决方法


今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130,ERROR 1130: Host 192.168.2.159 is not allowed to connect to this MySQL server   
猜想是无法给远程连接的用户权限问题。结果这样子操作mysql库,即可解决。在本机登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称'%'。。  
mysql -u root -p 
mysql>use mysql; 
mysql>select 'host' from user where user='root'; 
mysql>update user set host = '%' where user ='root'; 
mysql>flush privileges; 
mysql>select 'host'   from user where user='root'; 


第一句是以权限用户root登录  
第二句:选择mysql库  
第三句:查看mysql库中的user表的host值(即可进行连接访问的主机/IP名称)  
第四句:修改host值(以通配符%的内容增加主机/IP地址),当然也可以直接增加IP地址  
第五句:刷新MySQL的系统权限相关表  
第六句:再重新查看user表时,有修改。。  

重起mysql服务即可完成。

==============================================================

    本机的mysql数据库中有两条user='root'的记录,将其中一条host='localhost'的host修改为'%'后,虽然可以通过远程访问数据库了,但是使用localhost或者127.0.0.1又无法访问数据库了。

    经过一番折腾,发现可以通过创建用户的方法来解决这个问题。不需要修改user表中的任何数据,在本地用root登陆mysql后,执行下面的语句,创建用户名为'root',密码为'123456'的用户。执行完以后,查看user表,发现新增了一条host='%',user='root'的记录,并且各项权限与其它'root'一样,再次使用192.168.1.13进行访问,发现可以正常访问了。

?
1
2
3
4
grant all
on *.*
to root identified by '123456'
with grant option ;

如果访问还有问题,可以执行一下flush privileges;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值