MySQL数据库罕见的BUG——Can't get hostname for your address

Posted import java.*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL数据库罕见的BUG——Can't get hostname for your address相关的知识,希望对你有一定的参考价值。

在连接mysql jdbc时候,抛出了

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Communication link failure,  message from server: "Can\'t get hostname for your address"

的错误,无论是使用jdbc:mysql://127.0.0.1:3306还是jdbc:mysql://localhost:3306都出现了这个错误。

 

这个报错的意思是“您的地址无法获得主机名”,想到skip-name-resolve参数,但是加了这个参数后,由于我使用的是windows安装的服务,故还是有这个错误,终于在一篇博文中找到了解决方案。http://blog.csdn.net/zzti_erlie/article/details/53227343

 

对于是绿色版的mysql,需要打开my.ini,加上

[mysqld]
skip-name-resolve
#忽略主机名的方式访问
lower_case_table_names=1
#忽略数据库表名大小写

然后重启服务,该方案确实有效,但是对安装服务的mysql就没有效果了!

 

对于是安装到windows服务的mysql,需要在服务管理中点击选中MySQL服务,右键打开属性

 

以上是关于MySQL数据库罕见的BUG——Can't get hostname for your address的主要内容,如果未能解决你的问题,请参考以下文章

MySQL问题记录——2003-Can't connect to MySQL server on 'localhost'(10038)

react项目Bug:组件销毁清除监听(Can't perform a React state update on an unmounted component.)

python mysql数据库 'latin-1' codec can't encode character错误问题解决

mysql数据库出现2003-Can't connect to MySQL server on 'localhost' (10061)的解决方法

Can't connect to MySQL server on 'localhost' (10038)

解决MySQL workbench的Can't connect to MySQL server on '127.0.0.1'(10061)问题