关于mysql用户表中多个“root”用户的问题

关于mysql用户表中多个“root”用户的问题
+-----------+------------------+-------------------------------------------+
| host      | user             | password                                  |
+-----------+------------------+-------------------------------------------+
| localhost | root             | *bunch of gibberish                       |
| localhost | phpmyadmin       | *bunch of gibberish                       |
| 127.0.0.1 | root             | *bunch of gibberish                       |
| ::1       | root             | *bunch of gibberish                       |
| localhost | debian-sys-maint | *bunch of gibberish                       |
+-----------+------------------+-------------------------------------------+

所以我这么做use mysql;select host, user, password from user;

似乎有多个根目录、phpmyadmin、debian-sys-maint 等。这正常吗?我应该删除其中任何一个吗?

答案1

那里有三个条目,因为每个组合都需要一个条目user@host

检查host每个root用户条目。该host列定义用户可以从哪里连接并接受连接。在本例中,对于用户root,主机条目为localhost127.0.0.1::1。最后两个分别是本地机器环回接口(loifconfig)的 IPv4 和 IPv6 条目。localhost条目是这两个 IP 条目的主机名表示。

保留这三个文件是没问题的。这只是为了确保万一您的/etc/hosts文件出现异常并且localhost无法再解析到您自己的机器上,您仍然可以从本地系统访问 root 用户。

你唯一能做的真的需要担心的是,如果rootMySQL 上的用户有除 、 和 之外的任何条目。host这可能表明存在安全风险。localhost127.0.0.1::1

debian-sys-maint帐户用于日志轮换等,就像 root 帐户只能在默认设置下通过 localhost 使用一样,因此您也不必担心这一点。

相关内容