我很想知道为什么当你第一次在服务器上安装MySQL的时候,有三个root用户进入users表,每个用户表有不同的主机地址。 一个使用localhost一个使用127.0.0.1 ,另一个使用::1 (对于IPv6)。
我不明白为什么这三个都是必要的。 它会增强安全性来删除root@localhost & root@::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连接。