数据库mysql无法远程访问,出现Host is not allowed to connect to this MySQL server解决办法

数据库mysql无法远程访问,出现Host is not allowed to connect to this MySQL server解决办法

  • 整体描述
  • 解决方法
    • 1. 阿里云打开3306端口
    • 2. 数据库里设置允许远程登陆
      • 2.1 登录阿里云ssh,并登录数据库
      • 2.2 修改远程登录权限

整体描述

最近在阿里云重装了mysql数据库,但是通过navicat访问的时候报错:Host is not allowed to connect to this MySQL server,具体解决方法如下。

解决方法

1. 阿里云打开3306端口

如果是在阿里云部署的服务器和mysql,需要在阿里云开启3306端口,即mysql的端口,如果你装mysql的时候修改了这个端口,就打开你修改的那个端口,具体打开方式:
登录阿里云,在云服务的安全组里添加3306端口:
数据库mysql无法远程访问,出现Host is not allowed to connect to this MySQL server解决办法_第1张图片
添加如下:
在这里插入图片描述
然后保存。如果此时通过navicat可以访问了,就不用再往下看了。

2. 数据库里设置允许远程登陆

经过上面的操作,还是无法远程登陆,突然想起来,在数据库配置里,也有限制远程登录的地方,具体操作如下:

2.1 登录阿里云ssh,并登录数据库

使用finallshell等软件登录阿里云,或者阿里云也自带登录的网页端。(基本操作,就不写具体步骤了)
登录数据库,命令如下:

mysql -u root -p

输入密码,登录数据库。如下:
数据库mysql无法远程访问,出现Host is not allowed to connect to this MySQL server解决办法_第2张图片

2.2 修改远程登录权限

使用mysql数据库:

use mysql

数据库mysql无法远程访问,出现Host is not allowed to connect to this MySQL server解决办法_第3张图片
修改权限:
即把root用户的host字段改成%,默认应该是localhost,就只能是本地连接,改成%,就可以远程连接了。具体SQL语句:

 update user set Host = '%' where User = 'root';

在这里插入图片描述
显示修改成功,刷新权限:

 FLUSH PRIVILEGES;

在这里插入图片描述
此时,再次使用navicat,应该就可以远程访问了。

你可能感兴趣的:(笔记,网站,后端,java,数据库,mysql)