我有一个连接到mysql
服务器的Java客户端应用程序。客户端和服务器都在Docker容器中运行。重新引入“未知的初始字符集索引”错误?
我注意到,MySQL官方泊坞窗图像最近更新MySQL服务运行Version: '8.0.1-dmr'
由于这种变化,我的Java客户端应用程序无法连接到MySQL实例;它失败,出现以下错误:
Caused by: java.sql.SQLException: Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) ~[mysql-connector-java-5.0.8-bin.jar:na]
at com.mysql.jdbc.Connection.configureClientCharacterSet(Connection.java:2412) ~[mysql-connector-java-5.0.8-bin.jar:na]
at com.mysql.jdbc.Connection.initializePropsFromServer(Connection.java:4139) ~[mysql-connector-java-5.0.8-bin.jar:na]
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2789) ~[mysql-connector-java-5.0.8-bin.jar:na]
at com.mysql.jdbc.Connection.<init>(Connection.java:1555) ~[mysql-connector-java-5.0.8-bin.jar:na]
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285) ~[mysql-connector-java-5.0.8-bin.jar:na]
at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:307) ~[tomcat-jdbc-8.0.20.jar:na]
at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:200) ~[tomcat-jdbc-8.0.20.jar:na]
at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:699) ~[tomcat-jdbc-8.0.20.jar:na]
at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:633) ~[tomcat-jdbc-8.0.20.jar:na]
at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:186) ~[tomcat-jdbc-8.0.20.jar:na]
at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:126) ~[tomcat-jdbc-8.0.20.jar:na]
我不拥有Java客户端应用程序的源代码,所以我不能轻松地升级它使用JDBC驱动程序(这是mysql-connector-java-5.0.8-bin.jar
)。
这是与正在运行的mysqld Version: '8.0.0-dmr'
有任何解决方法这个问题不涉及更新JDBC驱动程序以前mysqldb:8
泊坞窗图像的工作?这是在mysqld
回归?
完美,固定它。我选择使用命令行选项'--character-set-server = latin1 --collation-server = latin1_swedish_ci'来代替,因为我不想创建配置文件并将其装载到docker容器。 – FGreg
乐意帮忙@FGreg –