是否存在一个没有管理权限的MySQL用户可以运行的查询,以确定他们是使用旧的(预-4.1)哈希还是使用新的(4.1及以后的)哈希?该用户被明确授予只访问他们自己的数据库,而不访问任何系统表(如mysql.user)。
这是在MySQL 5.5系统上。
发布于 2015-03-11 17:19:23
不是,用户需要在mysql.user上选择才能读取密码列,或者超级特权才能在显示授权的输出中看到密码。我认为这两种方法都会被归类为“管理权限”。
发布于 2015-03-11 18:30:55
mysql> SHOW VARIABLES LIKE 'old_passwords';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| old_passwords | 0 |
+---------------+-------+
ysql> SHOW GRANTS;
------------------------------------------------------------------------------------------------------------+
Grants for try@localhost |
------------------------------------------------------------------------------------------------------------+
GRANT USAGE ON *.* TO 'try'@'localhost' IDENTIFIED BY PASSWORD '*01E3DDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' |
GRANT ALL PRIVILEGES ON `try`.* TO 'try'@'localhost' |
------------------------------------------------------------------------------------------------------------+第一个查询显示是否允许使用旧密码(0=no)。
第二个显示了我的加密密码;它是一个“新”密码。如果是像BY PASSWORD '012346789ABCDEF'那样的话,那就太“老”了。
旧的:十六进制;新的:“*”加上大量的巫术。
自己试试看。
https://dba.stackexchange.com/questions/94987
复制相似问题