1

ユーザー名/パスワードと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引用符で囲まれたものと引用されていないものの両方を使用してパラメータを--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 を使用して動作させることをお勧めします。Sequel ではなく ruby​​-mysql で動作する場合は、その方法を教えてください。Sequel でも動作する可能性があります。

于 2012-08-21T16:53:30.693 に答える