两者是有差别的,
mysql -h localhsot -u root
是通过命名通道访问 mysqld 的,
而 
mysql -h 127.0.0.1 -u root
是通过 TCP/IP 访问 mysqld 的,由于你的授权表中只有一条
+-----------------+---------------+---------------
| Host            | User          | Password
+-----------------+---------------+---------------
| localhost       | root          |
+-----------------+---------------+---------------所以你用第二条语句登录一定出错了
另:
在本机登录情况下,
强烈建议使用 -h localhost 
这样数据返回速度将是很快的,
否则数据还要进过一层 TCP/IP 封装

解决方案 »

  1.   

    那犬犬,使用
    mysql -uroot -p
    是缺省用的通过TCP/IP访问mysqld的?
      

  2.   

    它总是优先尝试使用 -h localhost 登录 MySQL 服务器
      

  3.   

    我觉得localhost应该比127.0.0.1慢吧:)mysql总是应该解析localhost到底指向那个物理连接吧,物理连接应该通过IP标示啊
      

  4.   

    localhost不比127.0.0.1慢localhost和127.0.0.1是不需要被解析的特殊域名,可以被固化在程序中直接进行转换或者利用机器上的HOSTS文件。MySQL的Windows版两者皆具备。
      

  5.   

    有道理,好象127.0.0.1是保留ip,所以跟localhost应该等同,不需要解析,刚才把mysql重装了一遍,可能是我刚才的更改密码的sql语句写错了,
    各位讲的不错!