遇到一个机器 (有2个mysql),我的用户是aa ,我用这个用户登陆  
[aa@dev ~]$ mysql -pbeain -hlocalhost -P3307
ERROR 1045 (28000): Access denied for user 'aa'@'localhost' (using password: YES)[aa@dev ~]$ mysql -pbeain -h 127.0.0.1 -P3307
ERROR 1045 (28000): Access denied for user 'aa'@'localhost' (using password: YES)之后切换到root下,
mysql -pbeain -hlocalhost -P3307
 mysql -pbeain -hlocalhost -P3307
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)最后mysql -pbeain -h 127.0.0.1 -P3307----成功问题
1  为什么相同的命令mysql -pbeain -h 127.0.0.1 -P3307 在我的用户 aa 下不能成功,这个是在那个配置文件建立,修改哪个参数;
2 当切换到root下,为什么一定要-h 127.0.0.1  不能-hlocalhost , 这个是如何设置的?

解决方案 »

  1.   

    ps-ef | grep mysql 可以看到
    3-12:49:43 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql3 --user=root====这个mysql 是root 用户安装的不是mysql 用户安装的 .
      

  2.   

    检查你的MYSQL数据库中有 'aa'@'localhost' 这个号吗?
      

  3.   

    先PING一下你的 localhost 有没有这个主机。
      

  4.   

    mysql -pbeain -h 127.0.0.1 -P3307----成功==》成功后 执行 select user(); 看看出来时什么用户
      

  5.   

    mysql -pbeain -h 127.0.0.1 -P3307----成功==》root检查你的MYSQL数据库中有 'aa'@'localhost' 这个号吗?--------没有有localhost
      

  6.   

    那不就得了。 没这个账号。 你给%@localhost 授权了邑? 估计也是没有 。 所以一切都清楚了。
      

  7.   

    登入mysql 不指定user 默认是链接操作系统同名的user
    你yong root登入 就相当于默认去找 root用户 
    所以你进入的user是root 
    mysql -pbeain -hlocalhost -P3307
     mysql -pbeain -hlocalhost -P3307
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
    表明不能用本地连上 socket有问题 而你有 ip就可以 是因为这个是采用了TCP/IP的协议连上的