前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL数据库远程访问权限如何打开?

MySQL数据库远程访问权限如何打开?

作者头像
老九君
发布2022-02-18 16:43:55
13.3K0
发布2022-02-18 16:43:55
举报
文章被收录于专栏:老九学堂老九学堂

我们在使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库。

缺省状态下,mysql的默认用户没有远程访问的权限。

下面给大家介绍两种方法,解决这一问题。

1.1 方案1:改表法

由于账号默认没有远程访问权限,所以首先登录本地电脑的MySQL,更改mysql数据库里中user表里的host项。

非生产环境中,使用以上方式可以迅速解决问题。

但如果是实际的生产环境,肯定还是需要重新创建一个用户,然后根据需要分配访问ip和权限(授权法)。

1.2 方案2:授权法

1.1.1 权限表

下面我们先来了解一下user表。

user表是MySQL中最重要的一个权限表,表中的列很多,我们可以通过下面的命令查看表的基本结构:

我们重点关注userhost这两个字段。用户登录时,首先要判断的就是这两个字段和登录密码的值,这3个字段的值同时匹配,MySQL数据库系统才允许用户登录。

大家可以看到,默认情况下,MySQL的几个默认用户只允许localhost(本地)的连接,从远程连接肯定会被拒绝。

1.1.2 添加新用户并授权

根据需要创建相应的用户及访问权限即可

1.3 关于MySQL用户帐号管理的相关知识点

MySQL用户帐号管理主要用grant(授权)和revoke(撤权)两个SQL指令来管理。这两个指令实质是通过操作user(连接权限和全局权限)、db(数据库级权限)、tables_priv(数据表级权限)、columns_priv(数据列级权限)四个权限表来分配权限的。host权限表不受这两个指令影响。下面将会详细介绍用户权限管理的内容。

1.3.1 GRANT语法

示例:

1、‘%’代表任意字符,‘_’代表一个任意字符;主机名部份还可以是IP地址

2、如果没有给定主机部份,则默认为任意主机,也就是'test'和'test'@'%'是等价的

1.3.2 访问权限列表及权限的作用范围

表1:访问权限及说明

表2:权限作用范围(由on子句设置)

1.3.3 修改与权限无关的帐户项

1.3.4 把自已所拥用的权限转授给其他用户

前提:当前用户需要拥有WITH GRANT OPTION权限

1.3.5 限制资源使用

说明:默认都是零值,即没有限制。FLUSH USER_RESOURCES和FLUSH PRIVILEGES可对资源限制计数器清零。

1.3.6 使用REVOKE撤销权限

基本语法:

代码语言:javascript
复制
mysql > REVOKE privileges (columns) ON what FROM account;

示例:删除账号test从本机查询数据库db的权限

代码语言:javascript
复制
mysql > REVOKE SELECT ON db.* FROM 'test'@'localhost';

REVOKE可删除权限,但不能删除帐号,即使帐号已没有任何权限。所以user数据表里还会有该帐号的记录,要彻底删除帐号,需用DELETE命令删除user数据表的记录,如:

REVOKE不能删除REQUIRE和资源占用的配置。他们是要用GRANT来删除的,如:

以上所述是大雄给大家介绍的MySQL数据库远程访问的权限如何打开的方法,希望对大家有所帮助

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老九学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 方案1:改表法
  • 1.2 方案2:授权法
    • 1.1.1 权限表
      • 1.1.2 添加新用户并授权
      • 1.3 关于MySQL用户帐号管理的相关知识点
        • 1.3.1 GRANT语法
          • 1.3.2 访问权限列表及权限的作用范围
            • 1.3.3 修改与权限无关的帐户项
              • 1.3.4 把自已所拥用的权限转授给其他用户
                • 1.3.5 限制资源使用
                  • 1.3.6 使用REVOKE撤销权限
                  相关产品与服务
                  云数据库 SQL Server
                  腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档