gpt4 book ai didi

mysql - 如何让 DataNucleus SchemaTool 与 Google CloudSQL 配合使用?

转载 作者:行者123 更新时间:2023-11-29 13:29:12 30 4
gpt4 key购买 nike

我成功完成了DataNucleus Tutorial for JDO using RDBMS在我的 Ubuntu 13.10 机器上有一个本地 MySQL 实例。

在尝试在 Google CloudSQL 实例上实现相同的工作时,我遇到了一些问题。

为了进行切换,我替换了以下内容:

<property name="javax.jdo.option.ConnectionURL" value="jdbc:mysql://127.0.0.1/nucleus?useServerPrepStmts=false"/>
<property name="javax.jdo.option.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>

...具有以下内容:

<property name="javax.jdo.option.ConnectionURL" value="jdbc:google:mysql://<my-project>:nucleus/nucleus?useServerPrepStmts=false"/>
<property name="javax.jdo.option.ConnectionDriverName" value="com.mysql.jdbc.GoogleDriver"/>

我将本地 MySQL 和 CloudSQL 实例设置为具有相同的凭据,因此不需要更改 javax.jdo.option.ConnectionUserName 和 javax.jdo.option.ConnectionPassword。

在 Google Cloud Console Cloud SQL my-project:nucleus MySQL 实例下,我创建了一个静态 IP,并将我的开发计算机的 IP 地址列入白名单。我验证了我能够通过“mysql -u root -p -h ”本地连接到它。

当我尝试运行“mvn datanucleus:schema-create”时,我得到以下信息:

[DEBUG] Exit code: 1
[DEBUG] --------------------
[DEBUG] Standard output from the DataNucleus tool org.datanucleus.store.schema.SchemaTool :
[DEBUG] --------------------
[INFO] DataNucleus SchemaTool : Creation of the schema
An error was encountered creating a PersistenceManagerFactory : Error creating transactional connection factory - please consult the log for more information.

如果我用以下内容替换连接设置,那么它的工作方式与本地 MySQL 实例相同:

<property name="javax.jdo.option.ConnectionURL" value="jdbc:mysql://<Cloud SQL IP>/nucleus?useServerPrepStmts=false"/>
<property name="javax.jdo.option.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>

所以,我已经解决了这个问题,但为什么这不适用于 GoogleDriver?我对该驱动程序内部发生的黑魔法一无所知,但我很好奇是否有办法使其发挥作用,以及我是否有理由使用 GoogleDriver。

最佳答案

既然您可以将现有的 MySQL 驱动程序与 Cloud SQL 结合使用,您应该使用该驱动程序而不是旧版的 GoogleDriver。

参见http://googlecloudplatform.blogspot.com/2013/10/google-cloud-sql-now-accessible-from-any-application-anywhere.html

希望这有帮助,罗布

关于mysql - 如何让 DataNucleus SchemaTool 与 Google CloudSQL 配合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19718226/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com