MySQL开启远程访问权限-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

MySQL开启远程访问权限

简介: 默认情况下,mysql只允许本地登录,但是多数情况下,我们需要访问服务器上的数据库资源,此时就需要开放MySQL的远程访问权限。 本文主要讲解如何开启MySQL的远程访问权限。

默认情况下,mysql只允许本地登录,即只能在安装MySQL环境所在的主机下访问。
但是在日常开发和使用中,我们经常需要访问远端服务器的数据库,此时就需要开启服务器端MySQL的远程连接权限。

1.连接MySQL环境

通过mysql命令连接MySQL
image.png

2.查看MySQL当前远程访问权限配置

use mysql
select  User,authentication_string,Host from user;

image.png

通过命令可以看到当前只有一个用户root,并且Host为localhost,即只能本地访问权限

3.开启远程访问权限

开启远程访问权限的方式,主要包括两种:改表法和授权法

方式一:改表法

顾名思义,该方法就是直接修改更改"mysql"数据库里的"user"表里的"host"项,从"localhost"改为"%"

update user set host='%' where user='root';
方式二:授权法
通过GRANT命令可以授予主机远程访问权限
--赋予任何主机访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
--允许指定主机(IP地址)访问权限:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'root' WITH GRANT OPTION;

通过GRANT命令赋权后,需要通过FLUSH PRIVILEGES刷新权限表使修改生效:

FLUSH PRIVILEGES;

4.再次查看MySQL远程访问权限配置

select  User,authentication_string,Host from user;

image.png
此时,root已经多了一条记录,且Host记录值为%,代表已经开启了root的远程访问权限,我们后续就可以通过root用户远程访问该MySQL了


注意:

出于安全性考虑,尤其是正式环境下

1.不推荐直接给root开启远程访问权限。

本案例仅以root用户作为例子做开启远程访问权限的配置,此为演示环境!

2.建议做权限细分限制

正式环境中,推荐通过创建Mysql用户并给对应的用户赋权的形式来开放远程服务权限,并指定IP地址,赋权时根据用户需求,在GRANT命令中只开放slect、update等权限,做到权限粒度最小化。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章