MySQL Connector / J读取〜/ .my.cnf吗?

时间:2013-04-30 10:41:09

标签: mysql mysql-connector

我有一个使用MySQL和Connector / J MySQL连接器的Java应用程序。我想在应用程序用户的$HOME/.my.cnf文件中指定默认的客户端字符集,这样它就不会影响同一服务器上的其他应用程序。

为了测试Connector / J是否使用$HOME/.my.cnf,我创建了包含以下内容的文件:

[client]
socket=/tmp/inexisting-mysql.sock

我预计Java应用程序无法连接到数据库,因为/tmp/inexisting-mysql.sock不存在。但是,应用程序仍可以成功连接到数据库。看起来Connector / J根本没有读取此配置文件。

如何让Connector / J读取$HOME/.my.cnf?或者我如何为我的Java应用程序指定[client]部分选项,而不是为使用相同数据库的其他应用程序指定?

问候,Benedikt

1 个答案:

答案 0 :(得分:1)

要为连接设置默认客户端字符集,您可以将其作为parameter to the connection本身提供:

jdbc:mysql://localhost:3306/sakila?useUnicode=true&characterEncoding=UTF-8

我认为没有办法让Connector / J开箱即用$HOME/.my.cnf。您可以在java应用程序中读取该文件,并相应地设置url参数。