1

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

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

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

更新

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

1)我使用连接到我的数据库的红宝石代码完美地工作

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为 --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'
4

1 回答 1

0

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

如果你不能让它与 Sequel 一起工作,我建议尝试直接使用 ruby​​-mysql 让它工作。如果你可以让它与 ruby​​-mysql 一起工作,但不能与 Sequel 一起工作,请告诉我如何,我可能也可以让它在 Sequel 中工作。

于 2012-08-21T16:53:30.693 回答