mysql-在命令行Flywaydb(flyway)中使用SSL来部署数据库更改
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql-在命令行Flywaydb(flyway)中使用SSL来部署数据库更改,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1431字,纯文字阅读大概需要3分钟。
内容图文
我正在研究一个概念证明,以使用flyway的命令行工具从集中式服务器进行部署,以部署到多个数据库平台. (MySQL,Postgres和SQL Server)
我可以在没有SSL的情况下成功部署,但是它正在使用未加密的主机信息,例如到目标数据库服务器的登录名/密码/端口.我担心的是,有可能会看到未加密的流量.
是否有人对使用SSL部署到以下位置的flyway命令行工具有经验:
的MySQL
SQL服务器
除非错过,否则在文档中看不到任何信息.
感谢您的帮助和建议!
解决方法:
在flyway.conf中的flyway示例中,它显示了如何向jdbc url添加其他值,例如
# MySQL : jdbc:mysql://<host>:<port>/<database>?<key1>=<value1>&<key2>=<value2>...
# PostgreSQL : jdbc:postgresql://<host>:<port>/<database>?<key1>=<value1>&<key2>=<value2>...
# Redshift : jdbc:postgresql://<host>:<port>/<database>?<key1>=<value1>&<key2>=<value2>...
因此,例如对于Redshift / Postgres,您可以包含ssl = true标志
flyway.url=jdbc:postgresql://yourserver:5439/dbname?ssl=true
您需要将用于签名数据库服务器密钥的公共密钥添加到您的主机信任存储中(有关Redshift的详细信息,请参见http://docs.aws.amazon.com/redshift/latest/mgmt/connecting-ssl-support.html),例如
${JAVA_HOME}/bin/keytool -keystore ${JAVA_HOME}/lib/security/cacerts -import -alias <alias> -file <certificate_filename>
然后,我不得不破解flyway启动脚本/ flyway以在JAVA_ARGS中包含信任库和密码(它可能应该将它们作为变量)例如
JAVA_ARGS="-Djava.security.egd=file:/dev/../dev/urandom -Djavax.net.ssl.trustStore=/etc/pki/java/cacerts -Djavax.net.ssl.trustStorePassword=changeit"
内容总结
以上是互联网集市为您收集整理的mysql-在命令行Flywaydb(flyway)中使用SSL来部署数据库更改全部内容,希望文章能够帮你解决mysql-在命令行Flywaydb(flyway)中使用SSL来部署数据库更改所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。