解决Navicat 出错:1130-host . is not allowed to connect to this MySql server,MySQ

1.改表法

可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
1)进入终端

WIN + R键    // 进入终端

2)进入Mysql安装后文件的bin目录

cd C:\Program Files\MySQL\MySQL Server 5.6\bin; // 进入mysql的bin目录

3)登录mysql

mysql -u root -p    // -u代表用户,root用户名;-p代表密码。输入这条指令后输入密码即登录成功!

4)使用mysql自带的mysql数据库

use mysql;

5)更新数据

select user,host from user; // 查询名为mysql的数据库中user表的数据;
update user set host = '%' where user = 'root'  and host='localhost';   // 使所有的计算机皆可连接该数据库

:sql语句后面要加分号,我这边没加分号一直执行不了,加了分号就可以执行了。

2.授权法

相对于上面的方法,该方法可指定只有某些计算机能连接mysql数据库

grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
flush privileges;   // 授权或取消授权后执行此指令刷新下,可能就成功了
grant all privileges on *.* to 'root'@'192.168.31.195' identified by '123456' with grant option;
revoke all on *.* from 'root'@'192.168.31.195'; // 取消授权
delete from user where host = '192.168.31.195'; // 取消授权后执行此指令取消授权才见效
select user,host from user; // 授权后该表会多一条数据
库名:要远程访问的数据库名称,所有的数据库使用“*” 
表名:要远程访问的数据库下的表的名称,所有的表使用“*” 
用户名:要赋给远程访问权限的用户名称 
IP地址:可以远程访问的电脑的IP地址,所有的地址使用“%” 
密码:要赋给远程访问权限的用户对应使用的密码

猜你喜欢

转载自blog.csdn.net/chen_jl168/article/details/79118376