所以..
我正在观看Lynda.com关于MySQL(酷东西)基础知识的教程视频, 教师指示我们通过控制台设置Root用户密码(我实际上已经完成了)。
他说了以下内容:
MySQL将这些用户的用户,root用户和权限存储在名为user的表中,该表位于名为mysql的数据库中
然后我脑袋上方出现了一个小灯泡,我在
中键入了这个{SHOW DATABASES;}
{USE mysql;}
{SHOW TABLES;}
{SELECT * FROM user;)
然后出现了一堆显然是所有用户信息的东西
所以这就是我的问题(如果可能,我实际上是2)
1.我正确地假设如果我(假设)修改了他们的“Y”或“N”,我就会有效地改变对这些相应用户的权限和/或访问授权。
最后,我已经设置了我的密码,并且在列表中的名字旁边,在密码列下,有一个非常长的字符串似乎是一个十六进制字符串
只是为了好玩我将如何将其转换回来以便显示我的密码 (仅供参考我熟悉二进制转换为十六进制和十进制等等,但我猜这里有一些加密工作,可能是AES或3DES等)
它以星号开头,后跟40个十六进制字符,我的密码只有12个字符长
所以......最后,在完成这一切之后,我现在想我明白了MYSQL中mysql架构的目的是什么
并且不用说我不应该删除它...对LOL
此主题的所有输入都会提前得到高度赞赏 谢谢你们
答案 0 :(得分:0)
我假设如果我(假设)修改了“Y”或“N”,我是正确的,然后我有效地改变了对那些相应用户的权限和/或访问授权。
是 - 但是数据是独立于查询缓存而缓存的 - 因此更新表不会立即为您提供此访问权限 - 您需要重新加载权限或重新启动数据库才能使更改生效。
如何将其转换回来以便显示我的密码
你做不到。这是您的cryptographic hash密码。但是,如果有足够的时间和足够的计算资源,您可以找到导致相同哈希的字符串(可能与密码相同) - 然后可以将其用作以该用户身份登录。但我们在这里谈论的是数百万个CPU小时。
答案 1 :(得分:0)