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中用户操作、权限操作的简单总结,感谢您的阅读。
注:因本人的技术有限,如果有理解错误的地方,还请各位批评指正,共同交流学习,谢谢大家。我会继续努力的。