1

我有一个使用 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?或者我怎样才能[client]为我的 Java 应用程序指定一个部分选项,而不是为使用相同数据库的其他应用程序指定一个部分选项?

问候, 本尼迪克特

4

1 回答 1

1

要为连接设置默认客户端字符集,您可以将其作为参数提供给连接本身:

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

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

于 2013-04-30T10:48:45.097 回答