首页 >数据库 >mysql教程 >使用MySQLWorkbench远程管理工具进行远程管理Mysql的错误及解决办法_MySQL

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

WBOY
WBOY原创
2016-06-01 12:58:481428浏览

概述:

最近要使用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进行远程管理了。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn