+-----------+------------------+-------------------------------------------+
| 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
,主机条目为localhost
、127.0.0.1
和::1
。最后两个分别是本地机器环回接口(lo
在ifconfig
)的 IPv4 和 IPv6 条目。localhost
条目是这两个 IP 条目的主机名表示。
保留这三个文件是没问题的。这只是为了确保万一您的/etc/hosts
文件出现异常并且localhost
无法再解析到您自己的机器上,您仍然可以从本地系统访问 root 用户。
你唯一能做的真的需要担心的是,如果root
MySQL 上的用户有除 、 和 之外的任何条目。host
这可能表明存在安全风险。localhost
127.0.0.1
::1
该debian-sys-maint
帐户用于日志轮换等,就像 root 帐户只能在默认设置下通过 localhost 使用一样,因此您也不必担心这一点。