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

2015-07-24 08:16:53 · 作者: · 浏览: 5
' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? | ?
+--------------------------------------------------------------------------------------------------------------------------------------------------+ ?
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)
?