为啥我可以在 Windows 7 上使用 XAMPP 登录 MariaDB

Posted

技术标签:

【中文标题】为啥我可以在 Windows 7 上使用 XAMPP 登录 MariaDB【英文标题】:Why do am i able to login to MariaDB using anything with XAMPP on Windows 7为什么我可以在 Windows 7 上使用 XAMPP 登录 MariaDB 【发布时间】:2017-05-01 17:22:56 【问题描述】:

我是 Windows 7 上 xampp 的新手,通常我在 debian 上使用 mariadb。

我最近注意到一些奇怪的事情,默认 root 没有密码 ikr 但对我来说问题是为什么我能够使用任何东西登录 MariaDB,我的意思是任何甚至不属于现有用户名。

例如: mysql -u johndoe

即使没有 johndoe 用户,我也可以使用这种用户名登录,但这不是一个大问题,因为即使我可以使用该用户名登录,我也无法做任何事情,因为这些用户还没有任何访问权限,但是我的问题是为什么会这样?以及如何阻止它?

感谢***

【问题讨论】:

【参考方案1】:

root 连接到数据库。通过运行确保你真的是root

SELECT CURRENT_USER();

它应该显示root@localhost 或以root 作为用户名的其他内容。然后运行

SELECT user, host FROM mysql.user WHERE user = '';

如果它返回任何内容,那么这就是您可以连接不存在的用户名的原因——您有所谓的匿名帐户

要停止它,请运行

DELETE FROM mysql.user WHERE user = '';
FLUSH PRIVILEGES;

【讨论】:

顺便问一下,为什么会这样?是 xampp 默认吗?还是我犯了一个错误? @germa66 :这是传统的默认安装。在某些软件包/安装脚本中,这些匿名帐户会被删除,而在另一些情况下,它们仍然由超级用户决定如何处理它们。如果您在 Windows 上运行交互式安装程序,我认为它实际上会询问如何处理匿名帐户,因此,如果您使用它,您可能确认应该创建它们 非常感谢您的帮助,我不记得 Windows 上的交互式安装程序问过我这个问题,也许我错过了它或忘记了它,但我一定会找到的之后。非常感谢您的帮助。

以上是关于为啥我可以在 Windows 7 上使用 XAMPP 登录 MariaDB的主要内容,如果未能解决你的问题,请参考以下文章

在格式化我的计算机并发现我的所有数据库为空后移动 Xamp

Windows中的SQL命令行和xamp问题

为啥我无法在 Windows 7 Professional 64 位 SP1 上安装 SQL Server Express 2016?

运行 xampp 的问题

为啥在 C 中使用错误的格式说明符会使我的程序在 Windows 7 上崩溃?

为啥 TDateTimePicker.Checked 在 Windows 7 上总是返回 True?