您的位置:首页 > 数据库 > MySQL

使用MySQL Workbench远程管理工具进行远程管理Mysql的错误及解决办法

2015-08-07 19:48 676 查看

概述:

最近要使用MySQL Workbench远程管理工具进行远程管理虚拟机上的MySQL。可是,在配置的过程中,遇到了一些问题,下面是这个问题(HOSt ip is not allowed to connect to this MySql server)的描述以及解决办法。

笔者环境:

本地系统:Window 7

虚拟机系统:CentOS 6.5

MySQL版本:mysql Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1

MySQL Workbench版本:MySQL Workbench 6.2 CE

错误:

HOSt ip is not allowed to connect to this MySql server

解决过程:

对于这个问题,还是有纠结了一下的。因为我在为两台虚拟机添加远程控制的时候,发现第一台可以过,而第二台怎么都过不了。下面是我的处理过程:

上面的报错信息是因为我们的MySQL没有提供远程控制的服务。我们可以通过以下方法进行解决:

1.改表法:

可能是你的帐号不允许从远程登陆,只能在localhost。

这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"

mysql> use mysql;

mysql> update user set host = '%' where user = 'root';

mysql> select host, user from user;

2.授权法:

例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。

mysql> GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

 如果你想允许用户loginName从ip为192.168.1.6的主机连接到mysql服务器,并使用Password作为密码

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'loginName'@'192.168.1.6'IDENTIFIED BY 'Password' WITH GRANT OPTION;

我使用的是上一句。

mysql>FLUSH RIVILEGES;

3.另外一种方法:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

mysql> EXIT;

关键点:

本人没有进行第3种方法,因为前两种方法可以很好的解决问题。

不过对于改表法,我是没有执行到第三步的。因为第二步就报错了。好吧,那我就来尝试一下授权法。授权法是可以的。就这样我的第一台机器可以使用MySQL Workbench进行远程管理了。

可是当我开始对我的第二台机器进行操作时,很不幸,没能成功。原因是我以为改表法出现了Error就可以直接跳过了,直接进行授权法。可是,这是不行的。于是我改表法又操作了一遍,并且进行了第三步操作,我看到,实际上第二步是修改成功的。

就这样我的两台机器都可以通过MySQL Workbench进行远程管理了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: