将Hybris数据库更改为MySQL

6
我刚刚完成了hybris核心开发人员的培训。我已经完成了所有的任务,很快就会有一个项目,但现在我想调整系统以了解更多信息。我的目的是将数据库更改为MySQL,但当我在这些文件project.properties和local.properties上更改hybris平台的设置时,它会给我一个异常。
然而,问题是当我尝试再次运行hybris服务器时,它会给我一个异常,像这样:https://istack.dev59.com/sto7U.webp
2个回答

9
如果您想连接到MySQL,只需在hybris/config/local.properties中更改配置即可。
db.url=jdbc:mysql://localhost/hybris
db.driver=com.mysql.jdbc.Driver
db.username=anything but not "root"
db.password=
mysql.allow.fractional.seconds=true (if you're using MySQL 5.6.4 or later)

自从hybris Commerce Suite 5.0.2版本后,不再与MySQL连接器一起提供。请下载文件并将其放置在${HYBRIS_BIN_DIR}/platform/lib/dbdriver文件夹中。
v6更新
现在,在平台的project.properties文件中已经存在mysql.allow.fractional.seconds=true。
此外,为了避免锁定,您可以在mysql配置中添加:
transaction_isolation=READ-COMMITTED
innodb_autoinc_lock_mode = 2
innodb_locks_unsafe_for_binlog=1 


看起来Aph1ka已经成功连接到MySQL了。但是她的hybris应用程序的某个部分正在尝试插入一个对于键来说太长的值。 - Henrique Ordine
@alain 是的,我已经这样做了,我也执行了 ant clean,但什么都没有改变,现在我正在考虑根据其他来源的建议增加数据库中的innoDB最大字节数和utf编码...感谢你一直陪伴着我。 - Aph1ka
是的,确实如此,但现在我又面临着另一个错误,不过我认为我能够解决它。再次感谢您,艾伦... - Aph1ka
mysql.allow.fractional.seconds选项的意义是什么? - Michael
1
根据文档,该标志允许创建支持小数秒的日期时间列。有关更多信息,请参见https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-4.html。使用MySQL 5.6.4(或更高版本),必须定义mysql.allow.fractional.seconds属性。否则,java.util.Date列可能会以奇怪的方式行事,即日期值会被四舍五入(表示进入未来),而不是被截断。 - alain.janinm
显示剩余4条评论

2

不要忘记使用“ant all”构建服务器。如果没有构建服务器,则配置不会生效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接