标题:[实践OK]BHost '127.0.0.1' is not allowed to connect to this MySQL serverConnection closed by foreign host.is not allowed to connect to this MySQL server解决办法 出处:向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除 时间:Fri, 05 Feb 2016 10:49:57 +0000 作者:jackxiang 地址:http://jackxiang.com/post/8490/ 内容: 碰到问题一: [root@iZ25dcp92ckZ]# telnet localhost 3306 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. BHost '127.0.0.1' is not allowed to connect to this MySQL serverConnection closed by foreign host. 安装了MySQL,然后用 telnet ip 3306,端口后报BHost '127.0.0.1' is not allowed to connect to this MySQL serverConnection closed by foreign host,虽然自己以前也碰到过,后来解决了,但是觉得还是值得贴出来,估计会有很多人同样碰到过,贴个解决办法: MySQL>UPDATE MySQL.user SET Host='%' WHERE Host='localhost'; MySQL>GRANT ALL PRIVILEGES 这样搞如果该服务器在外网,有可能不安全,因为%的意思是谁都都可以连接的意思,最好是指定IP地址能连接,如问题二所示。 碰到问题二: [root@iZ25dcp92ckZ]# telnet 10.44.202.166 3306 Trying 10.44.202.166... Connected to 10.44.202.166. Escape character is '^]'. FHost '10.44.202.166' is not allowed to connect to this MySQL serverConnection closed by foreign host. 处理方法有二个 1、(如何解决客户端与服务器端的连接(mysql) :xxx.xxx.xxx.xxx is not allowed to connect to this mysql serv ) 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。 GRANT ALL PRIVILEGES ON *.* TO ‘myuser’@'%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; 如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码 GRANT ALL PRIVILEGES ON *.* TO ‘root’@’192.168.1.3′ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION; GRANT ALL PRIVILEGES ON *.* TO ‘root’@’10.10.40.54′ IDENTIFIED BY ’123456′ WITH GRANT OPTION; 2、 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%” 这个是因为权限的问题,处理方式如下: shell>mysql --user=root -p 输入密码 mysql>use mysql mysql>GRANT SELECT,INSERT,UPDATE,DELETE ON [db_name].* TO [username]@[ipadd] identified by '[password]'; [username]:远程登入的使用者代码 [db_name]:表示欲开放给使用者的数据库称 [password]:远程登入的使用者密码 [ipadd]:IP地址或者IP反查后的DNS Name,此例的内容需填入'60-248-32-13.HINET-IP.hinet.net' ,包函上引号(') (其实就是在远端服务器上执行,地址填写本地主机的ip地址。) 也可以这样写 mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = ‘%’ where user = ‘root’;mysql>select host, user from user; 分别来自: http://database.51cto.com/art/201006/204016.htm http://www.111cn.net/database/mysql/42040.htm Generated by Jackxiang's Bo-blog 2.1.1 Release