环境:mysql6.0 、Navicat Premium
用户名:root 密码:123456 本地连接无问题
远程连接mysql的时候应该碰到Navicat Premium 报错。
错误代码是1130,ERROR 1130: Host xxx.xxx.xxx.xxx is not allowed to connect to this MySQL server (无法给远程连接的用户权限问题)
查看问题:
输入密码:******
输入:use mysql; (此DB存放MySQL的各种配置信息)
输入:select host,user from user;(查看用户的权限情况)
由此可以看出,只能以localhost的主机方式访问。
原因
root用户的mysql,只可以本地连,对外拒绝连接。我们需要建立一个允许远程登录的数据库帐户
解决方案
输入:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
**(%表示是所有的外部机器,如果指定某一台机,就将%改为相应的机器名;‘root’则是指要使用的用户名,把#改为@,‘123456’密码)
输入:flush privileges;(执行语句)
查看最终用户结果
继续输入:select host,user from user;
最终可以访问