mysql管理数据库用户和访问权限

1:创建一个数据库用户:

MariaDB [(none)]> create user jarry@localhost identified by "root";
Query OK, 0 rows affected (0.00 sec)

解释:该账户的用户名:jarry,主机名localhost,密码“root”
该用户账户只能从localhost使用密码root进行连接,并且没有任何特权,密码在user表中加密(如图)。
注意:如果没有提供主机名,则假定主机名为“%”,这就意味着该用户可以中任何源主机进行访问
账户示例
账户描述
jack@'localhost'用户jack只能从本地主机进行连接
jack@'192.168.1.5'用户jack可以从主机192.168.1.5进行连接
jack@'192.168.1.%'用户jack可以从任何属于192.168.1.0主机进行连接
jack@'%'用户jack可以从任何主机进行连接
jack@'200:472:18:b51:c32:a21'用户jack可以从主机200:472:18:b51:c32:a21进行连接

2:为用户账户授予和撤销特权:

格式:
grant select on database.table to username@hostname;
定义要授予的特权;定义要将针对那些表授予特权;要授予的特权的用户。
授权示例
授权描述
grant select on database.table to username@hostname 给特定用户授予对特定数据库中特定表的选择特权
grant select on database.* to username@hostname给特定用户授予对特定数据库中所有表的选择权
grant select on *.* to username@hostname给特定用户授予对所有数据库中所有表的选择特权
grant create,alter,drop on database.* to username@hostname向特定用户授予特定数据库中,创建,更改,和删除表的特权
grant all privileges on *.* to username@hostname给特定的用户授予对所有数据库的所有可用特权,事实上相当于创建了一个超级用户(类似root)

revoke语句可以撤销账户的特权,连接的用户必须具有grant option 特权并且具有要撤销的特权,才能撤销特权。
revoke select,update,delete,insert on inventory.category from jack@localhost;
格式:定义要撤销的特权;定义要针对那些表撤销特权;定义从哪个用户撤销特权。
重要:
在授予或撤销某项特权以后,将从mysql数据库中的特权表中重新加载所有特权。
flush privileges;
显示某个用户授予的特权列表:
show grants for username@hostname;

3:删除用户:

当不需要某个用户时,可以使用drop user username 从数据库将某个用户删除,使用格式与create user相同。
drop user username@hostname;



  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值