[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)
[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>
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>
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>
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>
-- 用-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)