Openshift mySQL character_set_server utf8mb4

时间:2016-11-13 18:45:42

标签: mysql spring hibernate openshift utf8mb4

我有一个Spring Web应用程序通过hibernate与mySQL数据库通信。我正在尝试将utf8mb4设置为数据库字符编码。我执行了以下步骤:

  1. 使用

    设置我的数据库
    SET NAMES utf8mb4; 
    ALTER DATABASE mydb CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
    
  2. 将休眠网址更改为

     hibernate.connection.url = jdbc:mysql://localhost:myport/mydb?character_set_server=utf8mb4
    
  3. 在我的Spring应用程序配置
  4. 上添加SET NAMES 'utf8mb4'到数据库连接初始SQL
  5. 在my.cnf
  6. 添加了character_set_server=utf8mb4

    我设法让我的应用程序正常使用本地数据库。我还发现,第2步不是必需的,如果没有第4步,我的设置就无法在本地运行。 但是在Openshift中我还没有找到执行步骤4的方法。这个问题还有其他解决办法吗?我试图通过phpMyAdmin变量更改character_set_server,但这也不起作用。

1 个答案:

答案 0 :(得分:0)

还有另一个MySQL盒式磁带可以配置为使用utf8mb4。只需备份数据库中的数据即可。删除你的MySQL盒并添加这个:

https://github.com/amgohan/openshift-origin-cartridge-mysql-utf8mb4

最后将备份恢复到新数据库中。