Fork me on GitHub

mysql创建、授权、删除用户最简方法

今天我来总结一下,mysql对于用户的创建、修改、授权、删除等操作最简洁的方法。

1.用户创建、修改和授权我们可以使用同一个语句grant:

grant [privileges] on 'database'.'table' to 'user'@'host' identified by 'password';

这条语句中privileges 代表分配给用户的权限,database和table分别指代数据库和表,如果不指定特定的库或表,可以使用*代替所有库或者所有表;

user和host分别指定用户和用户的host,如果匹配所有host,host处可使用%;当然password指代的是用户的登录密码。

说明:当用户不存在时,利用这个授权语句在授权的同时可创建用户;当用户存在时,可用于修改用户的密码、权限等。

 

2.删除用户可直接使用drop user username@host

注意,如果删除时没有指定host的值,则默认删除的是host为*的用户。如果没有名字为user,host为*的用户,那么该语句会报出一个错误:

ERROR 1396 (HY000): Operation DROP USER failed for 'username'@'%';

这时不要慌,只需要通过select user,host from mysql.user where user='username';语句找出该用户对应的host值,然后再执行上述的drop user username@host语句即可写成用户的删除。

注:上述关于用户和权限的操作完成后,需要使用flush privileges;语句对user表和priv表的改动刷新到内存,实现不重启mysql使权限生效。

flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里。MySQL用户数据和权限有修改后,希望在"不重启MySQL服务"的情况下直接生效,那么就需要执行这个命令。通常是在修改ROOT帐号的设置后,怕重启后无法再登录进来,那么直接flush之后就可以看权限设置是否生效。而不必冒太大风险。

 

以上就是我对mysql中用户操作、权限操作的简单总结,感谢您的阅读。

注:因本人的技术有限,如果有理解错误的地方,还请各位批评指正,共同交流学习,谢谢大家。我会继续努力的。

 

posted @ 2016-11-24 15:34  lovecucu  阅读(163)  评论(0编辑  收藏  举报