Я подключаюсь к экземпляру для чтения-реплики MySQL (на самом деле, Google Cloud SQL). Кажется, что драйвер JDB C может создавать временную таблицу, но не может вставлять в нее данные. Но, используя другой клиент (в моем случае MySQL workbench), я могу создавать и вставлять данные во временную таблицу. Выглядит как ошибка в драйвере JDB C? Какие есть варианты, чтобы заставить его работать?
Вот исключение, которое я получаю (я не могу опубликовать всю трассировку стека из-за политики компании):
Caused by: java.sql.SQLException: The MySQL server is running with the --read-only option so it cannot execute this statement
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4074)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4006)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2450)
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2006)
Сведения о версии:
MySQL версия = 5.7.25-google-log
JDB C driver = mysql -connector- java -5.1.21.jar
Примечание: выполняется на главном экземпляре (вместо из чтения-реплики) будет мой последний вариант. Я в значительной степени знаю, что это будет работать.