MySQL - mysql数据库权限和root用户

时间:2013-12-11 13:17:34

标签: mysql

所以..

我正在观看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

此主题的所有输入都会提前得到高度赞赏 谢谢你们

2 个答案:

答案 0 :(得分:0)

  

我假设如果我(假设)修改了“Y”或“N”,我是正确的,然后我有效地改变了对那些相应用户的权限和/或访问授权。

是 - 但是数据是独立于查询缓存而缓存的 - 因此更新表不会立即为您提供此访问权限 - 您需要重新加载权限或重新启动数据库才能使更改生效。

  

如何将其转换回来以便显示我的密码

你做不到。这是您的cryptographic hash密码。但是,如果有足够的时间和足够的计算资源,您可以找到导致相同哈希的字符串(可能与密码相同) - 然后可以将其用作以该用户身份登录。但我们在这里谈论的是数百万个CPU小时。

答案 1 :(得分:0)

  1. 是的,您可以在这些行中设置'Y'或'N',但在修改系统安全表后,您必须执行FLUSH PRIVILEGES;命令。我建议您使用GRANTREVOKE命令,而不是直接编辑系统表。
  2. 不,不可能解密MySQL用户的密码。