
回复
- 如何快速临时禁止某账户登入
- 角色ROLES管理需要先激活
- 关于授权的其他几点补充
- 如何复制/复用账户密码
有几个方法:
ALTER USER x IDENTIFIED BY 'new_passwd'
,或者将其修改为随机密码ALTER USER x IDENTIFIED BY RANDOM PASSWORD
;ALTER USER x ACCOUNT LOCK
;把角色/ROLES授予某个账号后,记得还要再激活才行:
关于ROLES还有其他几个有趣的事:
来举个例子:
上面这个例子中,因为账户 u1 只有对 test.t1(c1) 列的UPDATE权限,因此是看不到其他列的,即便是读取c1列也不行。在真实生产环境中,可以加上对主键列或其他搜索列的授权,方便加上搜索条件后再更新,例如:
采用 mysql_native_password
方式创建用户时,可以直接从其他账户的密码串复制过来作为新账户的密码,例如:
但是当使用 caching_sha2_password
创建用户时,就不能这么做了,否则会提示类似下面的报错:
经过查阅手册,发现可以用十六进制方式指定密码串,不过前提是需要先设置 print_identified_with_as_hex=1
,例如:
MySQL手册中的相关介绍如下:
Enjoy GreatSQL :)
文章转载自公众号: GreatSQL社区