为什么build议给mysql用户root @ localhost一个密码?

当我安装了MySQL服务器的RPM时,我得到了这个消息:

请记住为MySQL root用户设置密码!

如果我只能使用本地主机上的mysql root用户(即通过SSHlogin后),密码如何提供额外的安全优势? 例如,如果我已经是root用户,我可以删除mysql数据目录…

谢谢

MySQL root用户是专门用于MySQL实例的pipe理用户。 虽然它与Linux系统上的默认pipe理员用户共享一个名称,但除了在function上它们没有共同之处。 但是,它是MySQL实例pipe理员的事实是它需要保护的重要部分和原因 。 考虑以下情况:

本地授权用户
只要inputmysql -u root任何被ssh访问系统的人都可以以root用户身份loginMySQL实例。 再次重新阅读该行,以确保其沉入。

远程未经授权的用户
任何恶意用户都可以通过利用“任意命令执行”漏洞完全控制MySQL实例。 看一下CVE-2009-1151 ,看看这是多么容易。 通过这种方式,他们可以控制wwwhttpdapache或任何用户用户,并为自己授予本地帐户。 然后,以root用户身份login到MySQL实例,只需键入mysql -u root

正因为如此,信息安全的核心租户之一是“纵深防御”。 也就是说,永远不要相信一个控制来保护你。 在这种情况下,给root用户一个强大的密码给你的MySQL实例。

不仅root可以使用root @ localhost mysqllogin,而且可以使用任何本地用户。

Mysql拥有它自己的帐户,所以mysql的根目录与系统根目录不一样,所以root @ localhost没有密码就允许localhost的任何用户以root身份login到mysql,因为没有密码。

盒子上的任何人都可以运行

mysql -u root

并进入。