我有一个使用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
答案 0 :(得分:1)
要为连接设置默认客户端字符集,您可以将其作为parameter to the connection本身提供:
jdbc:mysql://localhost:3306/sakila?useUnicode=true&characterEncoding=UTF-8
我认为没有办法让Connector / J开箱即用$HOME/.my.cnf
。您可以在java应用程序中读取该文件,并相应地设置url参数。