Home > Database > Mysql Tutorial > body text

[MySQL故障] ERROR 1045 (28000): Access denied for user 'mmm_MySQL

WBOY
Release: 2016-06-01 13:28:33
Original
1222 people have browsed it

bitsCN.com

[MySQL故障] ERROR 1045 (28000): Access denied for user 'mmm_agent'@'exxx-tx.com' (using password: YES)

 

1 error登陆错误

[python] 

[uxxx@exxx-0702 ~]$ mysql -hexxx-tx.com --user='mmm_agent' --password='#tx$'  

ERROR 1045 (28000): Access denied for user 'mmm_agent'@'exxx-tx.com' (using password: YES)  

 

2 去掉-h参数,能顺利登陆 

[python] 

[uxxx@exxx-0702 ~]$ mysql --user='mmm_agent' --password='#tx$'  

Welcome to the MySQL monitor.  Commands end with ; or /g.  

Your MySQL connection id is 491  

Server version: 5.x.xa-log MySQL tx Reltxse  

  

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.  

  

Oracle is a registered trademark of Oracle Corporation and/or its  

affiliates. Other names may be trademarks of their respective  

owners.  

  

  

Type 'help;' or '/h' for help. Type '/c' to cltxr the current input statement.  

  

  

mysql>  

 

3 难道是对于-h参数有限制?我换个用户试试看

[sql] 

mysql> GRANT ALL PRIVILEGES ON *.* TO 'mg'@'%' IDENTIFIED BY '#tx$';  

Query OK, 0 rows affected (0.01 sec)  

  

  

mysql> exit  

[uxxx@exxx-0702 ~]$ mysql -hexxx-tx.com --user='mg' --password='#tx$'  

Welcome to the MySQL monitor.  Commands end with ; or /g.  

Your MySQL connection id is 965  

Server version: 5.x.xa-log MySQL tx Reltxse  

  

  

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.  

  

  

Oracle is a registered trademark of Oracle Corporation and/or its  

affiliates. Other names may be trademarks of their respective  

owners.  

  

  

Type 'help;' or '/h' for help. Type '/c' to cltxr the current input statement.  

  

  

mysql>   

 

看来不是对于-h参数的限制问题,应该是别的故障,密码是OK的。

 

 

4 去查看mmm_agent用户吧。

[sql] 

mysql> select user,host from mysql.user where user='mmm_agent';  

+-----------+------+  

| user      | host |  

+-----------+------+  

| mmm_agent | %    |  

| mmm_agent | 10.% |  

+-----------+------+  

2 rows in set (0.00 sec)  

  

  

mysql> show grants for mmm_agent@'%';  

+-------------------------------------------------------------------------------------------------------------------+  

| Grants for mmm_agent@%                                                                                            |  

+-------------------------------------------------------------------------------------------------------------------+  

| GRANT ALL PRIVILEGES ON *.* TO 'mmm_agent'@'%' IDENTIFIED BY PASSWORD '*77074D8AC9603904375ED54F1D2E14CDACB7842F' |  

+-------------------------------------------------------------------------------------------------------------------+  

1 row in set (0.00 sec)  

  

  

mysql> show grants for mmm_agent@'10.%';  

+--------------------------------------------------------------------------------------------------------------------------------------------------+  

| Grants for mmm_agent@10.%                                                                                                                        |  

+--------------------------------------------------------------------------------------------------------------------------------------------------+  

| GRANT RELOAD, PROCESS, SUPER, REPLICATION CLIENT ON *.* TO 'mmm_agent'@'10.%' IDENTIFIED BY PASSWORD '*6745119376CF6BD5E0F0A50484A91AE7BD172612' |  

| GRANT EXECUTE ON `audit`.* TO 'mmm_agent'@'10.%'                                                                                                 |  

+--------------------------------------------------------------------------------------------------------------------------------------------------+  

2 rows in set (0.00 sec)  

  

  

mysql>   

 

 

 

 

-- 看到这里有2个帐号,相同 用户名,不同host,而且密码也不相同,那么我将host为10.%的mmm_agent用户的密码修改成与host为%的mmm_agent用户一样的密码,试试看。

[sql] 

GRANT RELOAD, PROCESS, SUPER, REPLICATION CLIENT ON *.* TO 'mmm_agent'@'10.%' IDENTIFIED BY '#tx$';  

GRANT EXECUTE ON `audit`.* TO 'mmm_agent'@'10.%'   

  

  

mysql> GRANT RELOAD, PROCESS, SUPER, REPLICATION CLIENT ON *.* TO 'mmm_agent'@'10.%' IDENTIFIED BY '#tx$';  

Query OK, 0 rows affected (0.01 sec)  

  

  

mysql> GRANT EXECUTE ON `audit`.* TO 'mmm_agent'@'10.%'   

    -> ;  

Query OK, 0 rows affected (0.00 sec)  

  

  

mysql> exit  

Bye  

[uxxx@exxx-0702 ~]$ mysql -hexxx-tx.com --user='mmm_agent' --password='#tx$'  

Welcome to the MySQL monitor.  Commands end with ; or /g.  

Your MySQL connection id is 1191  

Server version: 5.x.xa-log MySQL tx Reltxse  

  

  

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.  

  

  

Oracle is a registered trademark of Oracle Corporation and/or its  

affiliates. Other names may be trademarks of their respective  

owners.  

  

  

Type 'help;' or '/h' for help. Type '/c' to cltxr the current input statement.  

  

mysql>   

[sql] 

-- 用-h参数登陆mysql成功了。  

 

 

[总结]:

嗯,可以了,使用[uxxx@exxx-0702 ~]$ mysql -hexxx-tx.com --user='mmm_agent' --password='#tx$' 登陆成功了。

 

mysql在调用-h参数的时候,如果用户名相同,在host的选择上面,先去匹配范围小的用户,在这个案例中, %比10.%的范围要大得多,所以再用 -hexxx-tx.com -ummm_agent访问的时候直接匹配范围小的10.%用户了,而恰巧mmm_agent@'10.%'用户的密码与mmm_agent@'%'用户的密码不是一样的,就报了如下密码错误的提示:

ERROR 1045 (28000): Access denied for user 'mmm_agent'@'%' (using password: YES)

 

bitsCN.com
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!