无法远程连接Mysql数据库

版权声明:本文为博主原创文章,未经博主允许不得转载。本文永久链接: https://blog.csdn.net/yuanxiang01/article/details/80789496

问题引入

笔者在做项目时,需要用到数据库,然后就在一台服务器上搭建了MySQL数据库,本地测试时需要连接到数据库,于是在使用Navicat连接数据库时发现一个问题,无法连接并且报错了,报错代码1130。

之后发现,其实是数据库默认root用户只允许本地登录,未开启远程登录功能,所以需要我们自己设置一下MySQL。

情景还原

书接上文,笔者高高兴兴地打开Navicat,开始连接数据库,然后,一脸懵逼。
这里写图片描述
What?1130?(PS:笔者在操作时忘了截图了,下图来自互联网~orz)

这里写图片描述

图1.Navicat连接数据库报错

错误1130:ERROR 1130: Host ‘ .. ..*’ is not allowed to connect to thisMySQL serve

翻译成大白话就是:你不是老王指定的合法妻子,所以老王不让你进他家。
这里写图片描述
原因:被连接的数据不允许使用 当前的IP访问。
解决方案:登录Mysql,设置

这里写图片描述

图2.设置数据库使其允许远程连接

当然,如果你使用的服务器比较高级的话,还会有类似“安全组”设置什么的,需要将MySQL的3306端口设置为允许入网。
这里写图片描述

图3.设置安全组

这里写图片描述

解决方法

话不多说,直接抛代码:

mysql>use mysql;
mysql>update user set host='%' where user='root' AND host='localhost';
mysql>FLUSH PRIVILEGES;

使用以上方法设置MySQL之后,重启MySQL服务就OK啦~


作者:戴翔
电子邮箱:[email protected]


猜你喜欢

转载自blog.csdn.net/yuanxiang01/article/details/80789496