mysql 赋予一个用户一个表的增删改查权限

为了给MySQL用户授权对特定表的增删改查(CRUD)权限,、可以使用以下SQL命令:

-- 授权用户对数据库dbname中的表table_name的查询(SELECT)、插入(INSERT)、更新(UPDATE)和删除(DELETE)权限
GRANT SELECT, INSERT, UPDATE, DELETE ON dbname.table_name TO 'username'@'host';

-- 刷新权限,使更改生效
FLUSH PRIVILEGES;

请将dbname替换为数据库名,table_name替换为表名,username替换为用户名,host替换为用户可以连接的主机名或IP地址。

例如,给用户john从本地主机对数据库mydb中的表mytable进行CRUD操作,可以这样做:

GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.mytable TO 'john'@'localhost';
FLUSH PRIVILEGES;

确保在执行这些命令之前,已经以具有足够权限的用户身份登录MySQL。

注意:用户名后面的IP信息

  1. 具体IP地址:如果你知道用户将从哪个特定的IP地址连接,你可以直接指定该IP地址。例如,‘username’@‘192.168.1.100’ 表示用户username只能从IP地址为192.168.1.100的主机连接到MySQL服务器。
  2. IP地址范围:MySQL也支持使用通配符(%)来指定IP地址范围。但是,请注意,MySQL的通配符是在IP地址的各部分(点分隔的部分)中使用的,而不是在整个IP地址之后。例如,‘username’@‘192.168.1.%’ 表示用户username可以从任何以192.168.1.开头的IP地址连接到MySQL服务器。
  3. 本地主机:如果你希望用户只能从MySQL服务器所在的机器上连接(即本地连接),你可以使用localhost或127.0.0.1(IPv4)或::1(IPv6)。‘username’@‘localhost’ 和 ‘username’@‘127.0.0.1’ 在大多数情况下是等效的,但localhost可能会涉及到Unix socket连接,而127.0.0.1则是通过TCP/IP连接。
  4. 任意主机:如果你希望用户可以从任何主机连接到MySQL服务器,你可以使用通配符%作为主机名。‘username’@‘%’ 表示用户username可以从任何IP地址连接到MySQL服务器。然而,出于安全考虑,通常不建议这样做,除非你非常清楚这样做的风险,并且已经采取了适当的安全措施。
  5. 主机名:在某些情况下,你也可以使用主机名(如example.com)而不是IP地址。但是,这要求MySQL服务器能够解析该主机名,并且网络配置允许通过该主机名进行连接。
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值