#1045 - 用户访问被拒绝' root' localhost' (使用密码:是)

时间:2014-10-10 15:04:55

标签: mysql macos phpmyadmin

我在使用phpMyAdmin或其他应用程序连接到Mac上的本地MySql数据库时遇到问题。他们都给了我这个错误:

1045 - 用户'root'@'localhost'拒绝访问(使用密码:YES)

但是,通过我的mac上的终端连接没问题: mysql -u root -pmypassword让我直接进入mysql控制台,在那里我可以访问所有数据库。

当我尝试任何其他方式连接到数据库时 - 我得到一个Access Denied异常。我100%确定我的root密码是正确的,因为它可以从控制台运行。我也尝试用localhost替换127.0.0.1,但这没有帮助。

以下是状态信息:

mysql  Ver 14.14 Distrib 5.6.21, for osx10.8 (x86_64) using  EditLine wrapper

Connection id:      2
Current database:   
Current user:       verse@localhost
SSL:            Not in use
Current pager:      stdout
Using outfile:      ''
Using delimiter:    ;
Server version:     5.6.21 MySQL Community Server (GPL)
Protocol version:   10
Connection:     Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:        /tmp/mysql.sock
Uptime:         32 min 40 sec

我的config.inc.php如下所示:

  

$ cfg ['Servers'] [$ i] ['verbose'] ='';

     

$ cfg ['Servers'] [$ i] ['host'] ='127.0.0.1';

     

$ cfg ['Servers'] [$ i] ['port'] ='3306';

     

$ cfg ['Servers'] [$ i] ['socket'] ='/ tmp / mysql.sock';

     

$ cfg ['Servers'] [$ i] ['connect_type'] ='socket';

     

$ cfg ['Servers'] [$ i] ['auth_type'] ='config';

     

$ cfg ['Servers'] [$ i] ['user'] ='root';

     

$ cfg ['Servers'] [$ i] ['password'] ='mypassword';

     

$ cfg ['Servers'] [$ i] ['AllowNoPassword'] = true;

可能导致此问题的原因是什么?

P.S。一些评论者指出,问题可能是由连接类型(Unix Socket vs TCP)引起的。我尝试使用TCP(mysql --host=127.0.0.1 -u root -pmypassword从终端进行连接,确实出现错误:

  

ERROR 1045(28000):用户'root'@'localhost'拒绝访问(使用密码:YES)

但是,root用户是否应该访问所有数据库,无论连接类型如何?如何授予root通过TCP连接的权限?

0 个答案:

没有答案