修身养性,知行合一

  • 首页
  • 爱码
    • 系统
    • 数据库
    • JavaScript
    • CSharp
    • Python
  • 生活
    • 文化
    • 美食
  • 杂谈
  • 关于
修身养性,知行合一
码字,杂谈
  1. 首页
  2. 爱码
  3. 数据库
  4. 正文

给MySQL用户添加远程权限

2021年1月25日 1164点热度 0人点赞 0条评论

大多数情况下,服务器都是远程的,为了安全起见,数据库账户权限一般都是本地的。那么如何开启远程权限呢?让可视化工具帮助我们更好更快的查询数据库。

查看用户权限

命令行进入MySQL之后,输入:

use mysql;
select host,user,password from user;

可以得到当前所有用户对应的权限域。

file

第一列就是具有权限的域,可以看到基本都是本地。有一个 %,它表示所有域,也就是本地和远程均有权限。这个通常默认情况下是没有的,需要创建。

知道了域,就可以查看权限了。

show grants for '用户名'@'域';

将用户名和域替换成自己的内容,可以得到如下内容:

file

如果没有对应的内容,则会报错提示。

用户

想要操作权限,首先需要一个用户,总不能啥时候都用 root。所以要县创建一个用户。

创建用户

创建一个本地域的用户:

create user '用户'@'localhost' identified by 'password';

创建指定ip的用户(以192.168.1开头):

create user '用户'@'192.168.1.%' identified by 'password';

创建用于远程连接的用户:

create user '用户'@'%' identified by 'password';

删除用户

删除很简单:

drop user '用户'@'域';

修改用户

可以修改用户名:

rename user '用户名'@'域' to '新用户名'@'域';

修改用户密码

set password for '用户名'@'域'=Password('新密码');

授权

有了用户,就可以给用户授权了,也就是赋予指定用户某个表的某个操作的权限。

注意,这个操作只有在 root 环境下操作才有效。因为 grant 命令只有 root 下才有。

所有操作都必须给出用户的指定域,并且可以按增、删、改、查单独赋值。

1、赋予用户在所有域下,数据库 db1 的 t1 表的查询、插入、更新权限

grant select,insert,update on db1.t1 to '用户'@'%';

2、赋予用户在本地域下,数据库 db1 的所有表的删除权限

grant delete on db1.* to '用户'@'localhost';

3、赋予用户在所有域下,所有数据库的所有操作权限,<这也代表了最高权限>

grant all privileges on *.* to '用户'@'%';

取消授权

同样的,取消授权同样需要在 root 环境下操作,也同样可以单独取消任意一项内容,包括数据库、表、权限等。

# 取消表 t1 的所有权限
revoke all on db1.t1 from '用户'@'%';

# 取消所有表的所有权限
revoke all on db1.* from '用户'@'%';

# 取消所有库的所有表的更新权限
revoke update on * from '用户'@'%';

以此类推,所有权限都可以单独取消。

总结

现在,就可以创建一个用户,添加我们想要的权限,然后在Navicat中直接连接了,也不用担心其他内容会有风险。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: mysql
最后更新:2021年1月25日

jeremyjone

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

取消回复

文章目录
  • 查看用户权限
  • 用户
    • 创建用户
    • 删除用户
    • 修改用户
    • 修改用户密码
  • 授权
    • 1、赋予用户在所有域下,数据库 db1 的 t1 表的查询、插入、更新权限
    • 2、赋予用户在本地域下,数据库 db1 的所有表的删除权限
    • 3、赋予用户在所有域下,所有数据库的所有操作权限,<这也代表了最高权限>
  • 取消授权
  • 总结
最新 热点 随机
最新 热点 随机
关于 *.vue 文件中使用 TypeScript 声明类型报错的解决方案 element table 加载时宽度闪烁问题 windows 无法登录便签、OneNote等应用 vue2 中 vuex 对 ts 的支持 封装一个极简的右键菜单 vue2 使用 @vue/composition-api 的一些问题
双十一 京东养红包攻略 真丶深入理解JavaScript异步编程(二):Promise 原理 给MySQL用户添加远程权限 JS的console中log和dir的区别 windows中自定义图标不能正常显示 将.net mvc的数据传递给JavaScript

(っ•̀ω•́)っ✎⁾⁾ 开心每一天

COPYRIGHT © 2021 jeremyjone.com. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

京ICP备19012859号-1

京公网安备 11010802028585号