MySQL – 为什么有三个不同主机的root用户?

我很想知道为什么当你第一次在服务器上安装MySQL的时候,有三个root用户进入users表,每个用户表有不同的主机地址。 一个使用localhost一个使用127.0.0.1 ,另一个使用::1 (对于IPv6)。

我不明白为什么这三个都是必要的。 它会增强安全性来删除root@localhostroot@::1 ,只保留root@::1 [email protected]的访问权限吗? 这将是一件好事吗? 如果没有,其他主机地址是用来做什么的?

注意:我在基于Ubuntu的服务器上运行MySQL。

就MySQL而言,来自127.0.0.1的连接与来自:: 1的连接是不同的,所以如果你想从两个协议访问服务器,你需要允许它。 localhost条目允许通过套接字连接而不是tcp连接进行连接

 mysql -h 127.0.0.1 -u user -p mysql -h ::1 -u user -p mysql -h localhost -u user -p 

都是不同的连接。 运用

 mysql -h localhost -u user -p -e 'show full processlist\G;' ... User: user Host: localhost ... 

 mysql -h localhost --protocol=tcp -u user -p -e 'show full processlist\G;' ... User: user Host: localhost:60249 ... 

注意端口号60249显示它是一个TCP连接。