完美解决mysql客户端授权后连接失败的问题
在本地(192.168.1.152)部署好mysql环境,授权远程客户机192.168.1.%连接本机的mysql,在iptables防火墙也已开通3306端口。
如下:
mysql>selecthost,user,passwordfrommysql.user;
+--------------+-----------------+---------------------------------------------------------+
|host|user|password|
+--------------+-----------------+----------------------------------------------------------+
|localhost|root||
|fdm1|root||
|127.0.0.1|root||
|localhost|||
|fdm1|||
|192.168.1.%|db_hqsb|*DFC9DC16B13651A95ECEC3A26E07D244431B55C9|
|192.168.1.%|db_ro_hqsb|*2C0B0DD50595BB40879110437BEEF026D019DFB7|
|192.168.1.%|db_jkhwuser|*2C0B0DD50595BB40879110437BEEF026D019DFB7|
|192.168.1.25|slave|*EE52B8EACB3CCD13624273AD6B5CDA52B9B53EB7|
|192.168.1.%|tech_db_user|*6053E57C7B61043DC2C6B4E3291D5F61CCC23F5C|
|192.168.1.%|game_db_user|*05EA4D71C9A1273ECF3E24E6323F7175AE45C366|
|localhost|zabbix|*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9|
+---------------+---------------+------------------------------------------------------------+
问题:
在客户机(比如192.168.1.20)上远程连接上面192.168.1.152机器的mysql,连接失败!
[root@huanqiu~]#mysql-udb_ro_hqsb-h192.168.1.152-pmhxzkhl0802xqsjdb ERROR1130(HY000):Host'192.168.1.20'isnotallowedtoconnecttothisMySQLserver
解决:
是由于192.168.1.152的mysql里“host为localhost,user和password为空”这条语句导致的,删除这条即可解决问题!
mysql>deletefrommysql.userwherehost="localhost"anduser="";
QueryOK,1rowaffected(0.00sec)
mysql>flushprivileges;
QueryOK,0rowsaffected(0.00sec)
这样,授权连接的客户机就能成功连接了!
[root@huanqiu~]#mysql-uxqsj_db_ro_user-h192.168.1.152-pmhxzkhl0802xqsjdb WelcometotheMySQLmonitor.Commandsendwith;or\g. YourMySQLconnectionidis28 Serverversion:5.1.73Sourcedistribution Copyright(c)2000,2013,Oracleand/oritsaffiliates.Allrightsreserved. OracleisaregisteredtrademarkofOracleCorporationand/orits affiliates.Othernamesmaybetrademarksoftheirrespective owners. Type'help;'or'\h'forhelp.Type'\c'toclearthecurrentinputstatement. mysql>
以上这篇完美解决mysql客户端授权后连接失败的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。