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

无法远程连接Mysql数据库

程序员文章站 2022-03-16 11:24:33
...

问题引入

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

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

情景还原

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

无法远程连接Mysql数据库

图1.Navicat连接数据库报错

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

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

无法远程连接Mysql数据库

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

当然,如果你使用的服务器比较高级的话,还会有类似“安全组”设置什么的,需要将MySQL的3306端口设置为允许入网。
无法远程连接Mysql数据库

图3.设置安全组

无法远程连接Mysql数据库

解决方法

话不多说,直接抛代码:

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

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


作者:戴翔
电子邮箱:aaa@qq.com


相关标签: MySQL 1130 远程