Mysql8创建用户并授予用户数据权限

参考

  • chatgpt3.5

环境

软件/系统 版本 说明
mysql 8.0.28

更新

  • 2024/03/06 增加 MySQL 创建用户参考。

MySQL 创建用户

  1. 创建用户. username:要创建的账户名; host:允许访问的主机名或 IP 地址.如果希望从任意主机访问,可以使用 % 作为通配符;password:账户的密码.
    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
    
  2. 授予权限
    GRANT ALL PRIVILEGES ON *.* TO 'username'@'host';
    
  3. 刷新权限,应用生效
    FLUSH PRIVILEGES;
    

权限详解

要在MySQL中授予某个用户对某个数据库的权限,你可以使用以下SQL语句:
sql GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

下面是这个语句的各个部分的解释:

  • 权限列表:这是你要授予用户的权限列表,可以包括SELECT、INSERT、UPDATE、DELETE等权限,也可以使用通配符ALL PRIVILEGES来授予用户所有权限。例如,如果你想授予用户所有权限,可以使用ALL PRIVILEGES。
  • 数据库名:这是你要授予权限的数据库的名称。如果你想授予用户对所有数据库的权限,可以使用通配符*。
  • 表名:这是你要授予权限的特定表的名称。如果你想授予用户对数据库中所有表的权限,可以使用通配符*。
  • 用户名:这是你要授予权限的用户的用户名。
  • 主机名:这是用户的主机名,它指定了用户可以从哪个主机连接到数据库服务器。通常,你可以使用通配符%来允许用户从任何主机连接,或者使用localhost来只允许本地连接。

以下是一些示例:

  • 授予用户"myuser"对数据库"mydb"的所有权限,并允许他们从任何主机连接:
    GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%';
    
  • 授予用户"myuser"对数据库"mydb"的SELECT和INSERT权限,并允许他们从本地连接:
    GRANT SELECT, INSERT ON mydb.* TO 'myuser'@'localhost';
    
  • 授予用户"myuser"对所有数据库的DELETE权限,并允许他们从特定主机(例如,192.168.1.100)连接:
    GRANT DELETE ON *.* TO 'myuser'@'192.168.1.100';
    

一旦你执行了GRANT语句,用户将被授予相应的权限。请注意,为了使更改生效,你可能需要执行以下语句:
sql FLUSH PRIVILEGES;
这将重新加载权限表,以便新的权限设置生效。

posted @   夏秋初  阅读(944)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示