我想知道为什么当您第一次在服务器上安装MySQL时,用户表中输入了三个root用户,每个用户都有不同的主机地址。一个是localhost,一个是127.0.0.1,另一个是::1 (用于IPv6)。
我真的不明白为什么这三个都是必要的。删除root@localhost & root@::1而只留给root@127.0.0.1访问会提高安全性吗?这是一件好事还是不好?如果没有,其他主机地址用于什么?
注意:我正在一个基于ubuntu的服务器上运行MySQL。
发布于 2014-11-19 08:59:35
就MySQL而言,127.0.0.1中的连接不同于来自:1的连接,因此,如果您希望从任一协议访问服务器,则需要允许它。本地主机条目允许通过套接字连接而不是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连接。
https://serverfault.com/questions/645410
复制相似问题