ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql – 创建用户并授予无权限

2019-07-04 15:01:34  阅读:235  来源: 互联网

标签:mysql sql privileges


两者之间有区别吗?

grant usage on databasename.* to 'username'@'localhost' identified by 'password'

grant usage on *.* to 'username'@'localhost' identified by 'password'

create user 'username'@'localhost' identified by 'password'

假设用户尚不存在?我的理解是,每个用户都使用密码创建用户,并且不向用户授予任何权限.

如果用户已经存在,那么我预计会有一些差异:

> grant-statements会将密码更改为’password’
> create user-statement将失败并显示错误

解决方法:

所有这些语句都是一样的 – 它们创建没有任何特权的新用户.
第一个和第二个使用GRANT语句,其中USAGE表示 – NO PRIVILEGES.

但是GRANT USAGE和CREATE USER语句之间存在差异:

grant usage on *.* to 'username1'@'localhost'; -- when password is not specified

在NO_AUTO_CREATE_USER sql模式下会抛出错误.

从引用 – NO_AUTO_CREATE_USER防止GRANT自动创建新用户,否则也会这样做,除非还指定了非空密码.

当用户存在时,您对GRANT和CREATE USER语句是正确的; CREATE USER将抛出错误,但在这种情况下,如果要更改密码,可以使用SET PASSWORD语句,例如 –

SET PASSWORD FOR 'username'@'localhost' = PASSWORD('new password');

标签:mysql,sql,privileges
来源: https://codeday.me/bug/20190704/1378234.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有