Instead of using a local MySQL instance during Java appengine development, i (sometimes) want to use a real Google Cloud SQL instance (for example; to debug with the real thing).
It is possible to open a JDBC connection from IntelliJ => Databases, but when i'm using this URL in my Maven POM its not working... In this situation i'm already using the appengine driver instead of the local mysql connector.
Why isn't this working? How should i configure my POM? I'm using the following configuration when using the local MySQL instance;
<extraJvmArgs>
-Xmx512M -Xms512M -XX:MaxPermSize=128M \
-Dappengine.user.timezone.impl=UTC \
-Drdbms.server=local \
-Drdbms.driver=com.mysql.jdbc.Driver \
-Drdbms.url=jdbc:mysql://localhost:3306/mydb?user=root
</extraJvmArgs>
And my non working Google Cloud SQL instance attempts;
<extraJvmArgs>
-Xmx512M -Xms512M -XX:MaxPermSize=128M \
-Dappengine.user.timezone.impl=UTC \
-Drdbms.server=local \
-Drdbms.driver=com.mysql.jdbc.Driver \
-Drdbms.url=jdbc:google:rdbms://domain.com:myportal:myportal/mydb?user=root
</extraJvmArgs>
or
<extraJvmArgs>
-Xmx512M -Xms512M -XX:MaxPermSize=128M \
-Dappengine.user.timezone.impl=UTC \
-Drdbms.server=local \
-Drdbms.driver=com.google.appengine.api.rdbms.dev.LocalRdbmsServiceLocalDriver \
-Drdbms.url=jdbc:google:rdbms://domain.com:myportal:myportal/mydb?user=root
</extraJvmArgs>
All my (remote) attempts result in a connection timeout...
The 'jdbc:google:rdbms' way to connect is deprecated and the preferred way to connect to Cloud SQL from an external application is to use the IP connectivity via the 'jdbc:mysql' (docs).