Hibernate Grails将MySQL从5.6升级到5.7

Hibernate Grails将MySQL从5.6升级到5.7,hibernate,grails,gorm,mysql-connector,mysqlupgrade,Hibernate,Grails,Gorm,Mysql Connector,Mysqlupgrade,我们是Grails2.3.11,一直在Hibernate中使用MySQL 5.6(AWS RDS) MySQL和hibernate的现有运行时依赖项如下 dependencies { runtime 'mysql:mysql-connector-java:5.1.27' ... ... ... plugins { runtime ":hibernate:3.6.10.19" 数据源的配置方式如下。(注意,我们从未在此处设置方言) 现在我们正在寻

我们是Grails2.3.11,一直在Hibernate中使用MySQL 5.6(AWS RDS)

MySQL和hibernate的现有运行时依赖项如下

dependencies {
        runtime 'mysql:mysql-connector-java:5.1.27'
...
...
...
plugins {
       runtime ":hibernate:3.6.10.19"
数据源的配置方式如下。(注意,我们从未在此处设置方言)

现在我们正在寻找将MySQL升级到5.7的方法,并试图找到grails的相关文档,但找不到

我可以看到的一件事是我们只使用支持5.6的MySQL连接器,因此第一步是将其更新为MySQL连接器java:5.1.49,因为我看到这是最新版本,grails运行的是jdk 7,所以我无法切换到连接器8

我找不到与hibernate相关的任何东西,因为我们在grails中使用的hibernate gorm插件是我唯一能找到的插件

最后,到目前为止,我们还没有为MySQL设置过方言,所以不确定是否应该显式设置方言

我们希望停机时间最少,因此我们的计划是首先让Grails应用程序支持MySQL 5.7,并保持与MySQL 5.6的向后兼容性,然后将MySQL升级到5.7,并且应该仍然可以工作


有人做过这样的升级吗?您的输入对我来说非常有价值。

很长一段时间以来,我一直在通过MySQL连接器版本5.1.45将Grails 2.3.11与MySQL 5.7结合使用。所以我想说,你的一般方法应该很好,这是一个有效和有效的组合。

Upvoting。谢谢你的意见。。你的hibernate插件版本是什么?还明确指定了方言。我不想像前面提到的那样明确指定方言,因为对于升级,我们希望停机时间最少,并将首先使用最新的驱动程序更新grails应用程序,该驱动程序必须向后兼容MySQL 5.6,然后使用hibernate插件版本3.6.10.16升级MySQLI。Mysql方言是MySQL5InnodBdialent,但由于它不是5.7的专用语言,所以它不重要。祝你好运!:-)
dataSource {
    pooled = true
    jmxExport = true
    url = myjdbcURL
    driverClassName = "com.mysql.jdbc.Driver"
    username = myjdbcUserName
    password = myJdbcPassword
    properties {
        jmxEnabled = true
        initialSize = System.getenv("DB_INITIAL_SIZE")
        maxActive = System.getenv("DB_MAX_ACTIVE")
        minIdle = 5
        maxIdle = 25
        maxWait = 10000
        maxAge = 10 * 60000
        timeBetweenEvictionRunsMillis = 5000
        minEvictableIdleTimeMillis = 60000
        validationQuery = "SELECT 1"
        validationQueryTimeout = 3
        validationInterval = 15000
        testOnBorrow = true
        testWhileIdle = true
        testOnReturn = false
        ignoreExceptionOnPreLoad = true
        // http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#JDBC_interceptors
        jdbcInterceptors = "ConnectionState;StatementCache(max=200)"
        defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED // safe default
        // controls for leaked connections
        abandonWhenPercentageFull = 100 // settings are active only when pool is full
        removeAbandonedTimeout = 120
        removeAbandoned = true
        // use JMX console to change this setting at runtime
        logAbandoned = false // causes stacktrace recording overhead, use only for debugging
    }
}
hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = false
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' // Hibernate 3
    show_sql = false
    format_sql = false
    use_sql_comments = false
}