问题背景:
linux系统,centos6.5,mysql数据库,
远程计算机:SQLyog客户端,xshell远程工具;
通过xshell连接数据库,输入mysql -u root -p,然后输入密码,可以进入mysql,但是通过SQLyog在页面MYSQL Host Address这一项输入IP地址无法连接到数据库,出现1130 error。具体如下图:
查询原因:
用xshell进入mysql,
首先use mysql;
然后select host, user from user;
得到的结果里的host只有“127.0.0.1”、“localhost”,
所以需要添加host为“%”或将localhost修改为“%”
出现这种情况是因为mysql服务器出于安全考虑,默认只允许本地登录数据库服务器,如果不常用我们还是关了这个功能的好。
解决办法:
改mysql的user表,具体方法如下:
1、先用use mysql;进入名字为mysql的数据库;
2、mysql>update user set host='%' where host='localhost' and user='root';
3、mysql>flush privileges;
4、使用查询语句查看是否修改过来:mysql>select host,user from user;
结果中若有,host为“%”的root用户,则直接在SQLyog客户端重新连接,就会连接成功,问题解决