Как я могу получить 'max_statement_time' в качестве глобальной переменной в экземпляре GCP Cloud Sql mysql 5.6? - PullRequest
0 голосов
/ 17 января 2020

Начиная с mysql версии 5.7.8, переменная max_statement_time была переименована в max_execution_time. У меня есть приложение, которое проверяет версию базы данных и устанавливает правильную переменную в соответствии с этим номером версии.

Когда я настраиваю свое приложение для использования локальной установки mysql, все в порядке, но когда я настраиваю его на используйте Google Cloud Sql, он работает на 5.7, но не работает на 5.6. Это ошибка:

java.sql.SQLException: Unknown system variable 'max_statement_time'

Из оболочки mysql я запустил show variables like 'max%time' и получил следующие результаты:

  • mysql 5.7 через percona: max_execution_time
  • mysql 5,7 через Google max_execution_time
  • mysql 5,6 через Percona max_statement_time
  • mysql 5,6 через Google [пусто]

Я вижу, что в Google есть документация об этих флагах здесь , но max_statement_time не отображается в списке. Есть ли что-то, что я могу сделать, чтобы этот флаг появился так, чтобы мое приложение могло установить его успешно?

1 Ответ

1 голос
/ 17 января 2020

Облако SQL - это служба, управляемая Google. У вас нет доступа к свободному изменению всех флагов mysql. Здесь есть список флагов, которые вы можете увидеть / изменить. Если max_statement_time нет в этом списке, вы не можете ничего с этим сделать.

Я рекомендую использовать флаг max_execution_time вместо max_statement_time. Как указано в документации:

Для данного флага Cloud SQL может поддерживать диапазон, отличный от соответствующего параметра или опции MySQL.

Флаги / изображения не совпадают для Cloud SQL с простой базой данных MySQL.

...