2

これsslmysql参考に設定しようと思います。 最初の 3 つの手順を完了することができますが、次の 4 番目の手順に問題があります。

GRANT ALL PRIVILEGES ON *.* TO 'ssluser'@'localhost' IDENTIFIED BY 'ssluser' REQUIRE SSL;

を実行しようとしたときにこのステートメントを実行した後mysql -ussluser -pssluser -P3430 --ssl-key=、次のエラーが表示されます: 「localhost」の MySql サーバーに接続できません (10061)

を使用して mysql に接続しようとしましたmysql -ussluser -pssluser、ユーザー 'ssluser'@'localhost' のアクセスが拒否されました (パスワードを使用: YES) が表示されます。

GRANTステートメントを既に実行しているのに、アクセスが拒否されたと言うにはどうすればよいでしょうか。

GRANT atetement を使用mysql -ussluser -pssluser する前に実行し、 に接続できたことに注意してください。この時点で実行します(SSLを有効にする必要があります???)。mysqlmysql> CHANGE MASTER TO MASTER_SSL=1;

また、試してみるSHOW GRANTS FOR 'ssluser'@'localhost';
と得られます

GRANT ALL PRIVILEGES ON *.* TO \'ssluser\'@\'localhost\' IDENTIFIED BY PASSWORD \'*C56A6573BEE146CB8243543295FD80ADCE588EFF\' REQUIRE SSL WITH GRANT OPTION

数日から試していますが、何も見つかりませんでした。どんな助けでも感謝します。

編集1

私が使うとき、私はshow global variables like 'have_%ssl';得る

have_openssl    DISABLED
have_ssl        DISABLED

SHOW STATUS LIKE 'Ssl_cipher';これを使用すると、

Ssl_cipher  _________

また、すべてのサーバーとクライアントの証明書を作成し、ルート ディレクトリcerts内のディレクトリに配置しました。mysql server

4

1 に答える 1

0

サーバーまたはクライアントのOS、実行可能ファイルのソース、DBMSの構成方法に関する情報は提供していません。

mysql -ussluser -pssluser -P3430 --ssl-key=

IIRC では、ssl-key オプションは、ユーザー アカウントを設定して認証用のクライアント証明書を提供するときに使用されます (GRANT....REQUIRE X509;)。このシナリオでは、引数としてクライアント証明書ファイルを指定する必要があります。

ただし、SSL を使用する必要があるとだけ言っています。つまり、クライアントは SSL の目的で匿名です。ただし、クライアントはサーバーを検証する必要があります。したがって、mysql は--ssl-ca=ca-cert.pemまたは --ssl-capath=directory_name で開始する必要があります。

サーバーが SSL サポート用に構成されていることも確認する必要があります。ini ファイルまたは起動スクリプトには、使用する証明書への参照と、SSL 接続を処理するポートが含まれている必要があります。また、SSL サポートをバイナリにコンパイルし、関連する共有オブジェクト ファイルを利用できるようにする必要があります。config には SSL と記載されているが、DBMS が SSL を実行できない場合は、サーバー ログから何らかの兆候を得る必要があります。

于 2013-03-12T12:50:22.120 に答える