如何使用SSL连接对Mysql运行Sequel迁移

时间:2012-08-21 16:17:28

标签: mysql ruby ssl sequel

我正在尝试针对需要用户名/密码和ssl连接的mysql数据库运行迁移。我怎样才能参考ssl连接的ca证书?如果我运行以下命令,它会引发Error: Sequel::DatabaseConnectionError: Mysql::ServerError::AccessDeniedError: Access denied

sequel -m db/migrations mysql://root:password@localhost/test

我尝试在命令行中添加sslca = params,但没有接缝工作。

更新

是的抱歉,如下所示,您可以看到工作代码和不工作代码:

1)ruby代码,我使用连接到我的数据库完美运行

connection = Sequel.mysql2(
  "db_name",
  :user => "username",
  :password => "password",
  :host => "host",
  :port => "port",
  :sslca => File.expand_path(File.join('path', 'to', 'ca.pem')),
  :max_connections => 1
)

2)这里的代码不起作用,我试图将sslca param作为--sslca =传递给引用和不引用但没有我可以建立连接

sequel -m db/migrations mysql://root:password@localhost/test sslca="path/to/ca.pem"

我得到的错误是:

Error: Sequel::DatabaseConnectionError: Mysql2::Error: Access denied for user 'username'@'host' (using password: YES)/path/to/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect'

1 个答案:

答案 0 :(得分:0)

Sequel的mysql适配器将以下ssl参数传递给ruby-mysql库:sslkey,sslcert,sslca,sslcapath,sslcipher。我不确定sslca是否足够,你可能还需要其他选项之一。

如果您无法使用Sequel,我建议您尝试直接使用ruby-mysql。如果你可以使用ruby-mysql而不是Sequel,请告诉我如何,我也可以在Sequel中使用它。