手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何开启MySQL远程访问权限?

时间:2024-10-15 05:50:35

1、要想放开MySQL远程访问权限,你必须拥有一台配备了公网IP的服务器,可以是云服务器,也可以是自建机房里的服务器。下面我们以云服务器为例。先将mysql安装配置后,如下所示,启动后,监听在3306端口上。

如何开启MySQL远程访问权限?
如何开启MySQL远程访问权限?

2、MySQL启动好以后,我们来说一下MySQL的账号格式,基本格式是:user@locationuser指的是用户名location指的是用户来源,可以是一个IP地址,也可以用*号表示所有来源。用单个IP地址时,表示只允许某个IP的用户登录这台服务器,用*号时,表示所有来源的某个用户都可以登录这台服务器。我们看一下默认的设置,命令是:select user,host from mysql.user;可以看到,默认情况下,只允许root监听在localhost这个本地地址上,另外两个用户mysql.session和mysql.sys是系统用户,无法用于登录。

如何开启MySQL远程访问权限?

3、为了安全起见,我们只放开普通用户在公网上的权限,如下所示,我们先创建一个测试库test,一个测试用户test,如下面第一张图中所示.

如何开启MySQL远程访问权限?

4、用户创建好以后,我们先来查询一下当前环境IP地址,打开百度搜索,输入IP,就能看到我们当前电脑的公网IP。如下面图中所示,我的公网IP是一个113开头的地址。然后我们来将test库的权限赋予给test用户,如下面第二张图中所示,使用grant命令将test库的权限分别赋予给test@localhost,test@113.*.*.*这样两个地址。

如何开启MySQL远程访问权限?
如何开启MySQL远程访问权限?

5、权限赋予完毕以后,我们在查询一下系统表mysql.user,命令是:select user, host from mysql.user;可以看到,里面已经有了test@localhost 和test@113.*.*.*这个用户的地址。

如何开启MySQL远程访问权限?

6、权限设置好以后,我们还需要在防火墙上放行对应的端口。现在的云主机上都不使用系统自带的防火墙。而是在网页端配置了一个叫做安全组的东西。如下面图中所示,登录云主机的控制台以后,点击网络与安全,然后点击安全组。

如何开启MySQL远程访问权限?

7、在安全组页面会显示指定区域的云主机,点击云主机信息右边的配置规则,打开规则配置界面,然后点击右上角的快速创建规则。

如何开启MySQL远程访问权限?
如何开启MySQL远程访问权限?

8、然后就会弹出主机的规则配置界面,我们依次选择入方向(表示从外网登录),允许(表示放行这个端口),MySQL3306(表示MySQL的端口),TCP(MySQL使用tcp协议通信)。然后地址段填写刚才我们查询到的IP地址,优先级随便写一个。填写完毕确认无误后点击确定按钮,保存规则,然后在规则页面就能看到刚创建好的放行规则。

如何开启MySQL远程访问权限?
如何开启MySQL远程访问权限?

9、这个时候,我们就可以在我们本地的linux虚拟机上尝试远程登录MySQL服务器了。如下面图中所示,先尝试使用root用户来登录这台远程主机,可以看到,即使密码正确也无法登录,因为没有配置root用户的远程登录权限。

如何开启MySQL远程访问权限?

10、然后我们再尝试使用test用户来登录,如下面图中所示,可以看到输入密码后可以正常登录,切换到test数据库,然后创建一个表t1,包含两个字段,分别是id和name,然后向里面插入了一对值(1,'test')。

如何开启MySQL远程访问权限?

11、操作完毕后,我们回到云主机上,登录上去,查看这个表的值,确实操作成功了。说明远程访问权限配置正常。如果仅仅是测试使用,在测试完成后,记得删除安全组规则,删除后,再尝试登录时,如下面第二张图中所示,即使密码正确,也会无法通过安全组验证。一直卡在登录位置。无法登录。

如何开启MySQL远程访问权限?
如何开启MySQL远程访问权限?
© 手抄报圈