配置Mysql远程访问

之前用Mysql都是在本地安装,程序也是在本地用,没有发现有什么问题,今天因为项目需要,把Mysql安装在公司服务器上了,然后在本地访问,发现提示Host '***' is not allowed to connect to this MySQL server,错误提示很明确,就是目标主机上的Mysql服务不允许连接,这让我想到了MSSQL,MSSQL是有一个地方设置是否允许远程访问的,那么MySql中应该也是有的吧?于是在MySql Workbench中找,但是没有找到修改的位置,于是百度了一下,终于弄清楚在哪儿改了,步骤如下:

1、打开命令提示符,执行Mysql -uroot -proot命令(如果提示Mysql不是内部或外部命令什么的,需要设置环境变量,我的mysql服务安装在C:\Program Files\MySQL\MySQL Server 5.7,我在环境变量的Path中加上了C:\Program Files\MySQL\MySQL Server 5.7\bin),我的mysql用户名是root,密码是root,所以是-uroot,-proot;登录后,如图所示:

2、执行use mysql;切换数据库,如图:

3、查询user表,看host和user情况,如下:

mysql> select user,host from user;
+---------------+-----------+
| user | host |
+---------------+-----------+
| root | localhost         |
| mysql.session | localhost |
| mysql.sys | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

所有的用户都是只能本机访问,我们需要把需要远程访问的用户的host改成%,于是我们执行以下语句:

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

修改好host之后,我们要让它立即生效,还要执行这样一个语句:flush privileges;

操作完成之后,再用root远程访问就可以了。

上面的操作参照了:https://www.cnblogs.com/vathena/p/4012399.html

posted on 2019-04-16 14:33  ymworkroom  阅读(28683)  评论(0编辑  收藏  举报