jruby 1.7.19(oracle JVM 1.8上兼容ruby 1.9.3)出现错误,但在“Rake DB:Migrate”中使用相应的plan ruby 1.9.3通过SSL连接修改Amazon RDS的MySQL时不会出现错误。
我在jruby环境下“rake db:migrate”时得到了下面的一条消息
“rake aborted! ActiveRecord::JDBCError: Access denied for user 'myid'@'ip_of_my_amazon_rds' (using password: YES) arjdbc/jdbc/RubyJdbcConnection.java:453:in `init_connection' Tasks: TOP => db:migrate (See full trace by running task with –trace)”
在plan Ruby下“Rake db:migarate”没有问题。对于jruby和普通Ruby,没有SSL的“rake db:migrate”都没有问题。我想知道为什么我通过SSL连接得到jruby的错误。
我的dabase.yml是
development: adapter: mysql2 encoding: utf8 pool: 5 verifyServerCertificate: true useSSL: true requireSSL: true host: myhosturl.us-east-1.rds.amazonaws.com port: 3306 sslca: rds-combined-ca-bundle.pem username: myid password: mypassword database: develop
Gemfile中相应的gem是
gem 'mysql2', platform: :ruby gem 'jdbc-mysql', platform: :jruby gem 'activerecord-jdbc-adapter', platform: :jruby gem 'jruby-openssl', platform: :jruby
我可以在jruby和ruby环境下通过“Rails dbconsole”命令连接同一个数据库而不会出错--在这两种情况下都会询问密码,即使在database.yml文件中指定了密码。我从Amazon网站上抓取了rds-comboded-ca-bundle.pem文件,并将其放在应用程序的根目录下。我使用rbenv来切换环境。
我想用JRuby在我的rails应用程序中使用Java库。如果你有任何解决这个问题的想法,我非常感谢。
确保将特定于JDBC的选项放在properties:
下
development:
adapter: mysql2
encoding: utf8
pool: 5
host: myhosturl.us-east-1.rds.amazonaws.com
port: 3306
sslca: rds-combined-ca-bundle.pem
username: myid
password: mypassword
database: develop
properties:
useSSL: true
requireSSL: true
verifyServerCertificate: true
不过,您可能需要将证书(SSLCA
)包装成Java格式,只需阅读jdbc文档how...您不需要手动设置属性--这些属性可以在命令行或jruby_opts
中指定,例如-j-djavax.net.ssl.keystore=/opt/tomcat/etc/myks.jks
问题内容: 我在由远程MySQL数据库支持的分布式环境中部署Play应用程序。具体来说,应用程序托管在heroku上,数据库位于Amazon RDS上(尽管这实际上适用于任何远程数据库连接)。由于数据库不仅位于本地主机上,为了安全起见,我更希望通过SSL建立远程MySQL连接。 给定要信任的CA证书,只有可以验证主机证书的情况下,如何配置Play应用程序以通过SSL连接到MySQL服务器? 假定这
问题内容: 如何从Java应用程序通过SSH连接到远程MySQL数据库?小代码示例对我有所帮助,对此我将不胜感激。 问题答案: 我的理解是,您想访问在远程计算机上运行的mysql服务器,并通过SSH隧道侦听端口3306。 要使用命令行ssh客户端从本地计算机上的端口1234到远程计算机上的端口3306的隧道,您可以从本地计算机上键入以下命令: 要从Java执行相同的操作,可以使用JSch(SSH2
“无法确定数据库类型None的嵌入式数据库驱动程序类” 我应该给Application.Properties中的spring.datasource.url值什么?或者其他建议?谢了。
连接失败,出现此异常。我无法追踪到底发生了什么? 另外,getconnection之后的db2diag.log是:
请知道,我对数据库很陌生。我能够正确安装mySQL和java连接器驱动程序。但每当我在eclipse中运行程序并尝试从我创建的数据库中检索信息时,我都会收到以下消息:“需要SSL连接,但服务器不支持”。下面是我要使用安全SSL连接运行的代码: `公共静态void main(字符串[]参数){