主机名 host 为 localhost 与 127.0.0.1 有什么区别呀?
-----------------------------------------------------
在 mysql 的 user 表中,同一个root用户,对应着 两个 host 值,一个是 localhost ,一个是 127.0.0.1
我不明白,这两个,都是代表本机呀.有什么区别呢?好像用本机登陆,就默认是用户 'root'@'localhost'
可是, 'root'@'127.0.0.1'这个用户,何时会用到呢?

解决方案 »

  1.   

    一样的, 
    在windows系统目录(具体路径自己gg搜索,我记不太清了)有个hosts文件, 里面有对一些IP及主机名映射关系的定义。
    一般来说, 在hosts文件中都会有定义 
    127.0.0.1 localhost  
    这样的行, 即二者相同, 即是说访问一个目标主机时,使用主机别名(如localhost)或者使用IP都是相同的,在dns client正常工作的前提下。127.0.0.1是本机网卡内部回环地址。我不太清楚mysql为什么会有
    'root'@'localhost'和'root'@'127.0.0.1'这样的区分, 猜测是为了避免hosts文件中缺失对localhost这样名称映射的定义 而又保留了一个ip类命名的用户。
      

  2.   

    不能。因为根本不知道你目前了解水平,一百字的解释可能对你来说没什么作用,几千字的话,打起来也太浪费时间,并且你也未必会花时间看。
    建议学习一下如何使用GOOGLE或者百度。 查一下主机名字解析。