欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-05-13 18:46:18
...

概述:

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