mysql常用权限管理

引用官方:当你运行连接到服务器的客户端程序时,MySQL访问控制涉及两个阶段:

  • 阶段1:服务器根据您的身份接受或拒绝连接,以及是否可以通过提供正确的密码来验证您的身份。

  • 阶段2:假设您可以连接,服务器会检查您发出的每个语句,以确定您是否具有足够的权限来执行它。例如,如果您尝试从数据库中的表中选择行或从数据库中删除表,则服务器将验证您具有 SELECT该表的DROP特权或数据库的 权限。

我们在此简单列举一些常用的权限管理

创建一个超级用户并赋予所有权限
官方文档
mysql> grant
all privileges
on *.*
to admin1@'%'
identified by 'admin1pwd'
with grant option

命令解释:

  • all privileges: 所有权限,当然还可以指定具体的操作权限SELECT,INSERT,UPDATE,DELETE等。

  • on *.* : 前面*指定可以访问的数据库,后面的*指定表。比如指定用户可以操作test数据库下的user表就可以on test.user

  • to admin1@’%’: admin1是指定用户,@后面的是指定可访问的地址,%表示所有地址,还可以指定某个ip(192.168.1.1)或ip地址段(192.168.1.*)访问

  • identified by ‘xxx’: 用于指定用户密码

  • with grant option: 加上这个你就可以使用grant命令创建用户或将你所拥有的权限赋予其他用户

查看权限
查看当前用户权限:show grants
查看某个用户权限:show grant for admin1

修改权限
这里没有修改权限,权限可以叠加,如果你开始给admin1赋予select权限,现在又想增加insert权限可以再次运行grant命令,这样admin1就同时拥有了select和insert权限

移除权限
跟grant语法相似,to 换成 from
grant all privileges on *.* to 'admin1'@'%'
revoke all privileges on *.* from 'admin1'@'%'
revoke删除权限,但不删除mysql.user表条目。要完全删除用户帐户,请使用drop user: drop user 'admin1'@'%'

执行完毕要 刷新权限!!!

mysql> flush privileges

最后提一句远程登陆不了还有个原因是my.ini里面有个配置项bind-address,把它注释掉,上线之后还是去掉吧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值