之前使用Navicat都是连接别人的数据库,现在因为需要自己也安装了一下mysql,建立数据库需要让被人也可以远程自己的数据库。但是弄好之后只能自己连接,别人连接不了, 报错如下:
错误原因是本地ip没有访问远程数据库的权限。
解决办法:
首先远程连接进入服务器,我的是win8的系统mysql安装后有一个dos窗口:MySql 5.7 Command Line Client Unicode
直接打开即可
1.输入密码
2.输入use mysql;3.输入select user,password,host from user;
(因为我的mysql里面的user表不知道为什么没有password这个字段,所以我直接select user,host from user;这样也是可以的)
可以看到host中只有localhost主机。我们需要将xxx.xxx.xxx.xxx(ip)也添加到这里才对。
4.输入grant all privileges on *.* to root@"xxx.xxx.xxx.xxx" identified by "密码";
这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。
5.输入flush privileges;
6.再次输入select user,password,host from user;
可以看到host中有了新加的IP。
这样再次用Navicat for MySQl访问远程mysql数据库(注意输入时不要有空格)已经能正常打开了。