ホームページ  >  記事  >  データベース  >  MySQL SSL接続手順の詳しい説明

MySQL SSL接続手順の詳しい説明

王林
王林オリジナル
2023-09-08 11:46:501184ブラウズ

MySQL SSL 连接的步骤详解

MySQL SSL 接続手順の詳細な説明

MySQL は、SSL (Secure Sockets Layer、Secure Sockets Layer) をサポートする一般的に使用されるリレーショナル データベース管理システムです。安全な接続を確立します。データベースに。データ送信を保護する必要がある一部のアプリケーション シナリオでは、SSL 接続の使用は非常に重要なセキュリティ対策です。この記事では、MySQL SSL 接続の手順を詳しく説明し、対応するコード例を示します。

1. SSL 証明書と秘密キーの生成

SSL 接続を使用する前に、証明書と秘密キーを生成する必要があります。次の手順で SSL 証明書と秘密キーを生成できます。

  1. コマンド ライン ターミナルを開き、MySQL インストール ディレクトリの bin フォルダに入ります。
  2. 次のコマンドを実行して CA (認証局) 証明書と秘密キーを生成します:

    openssl genrsa 2048 > ca-key.pem
    openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca-cert.pem
  3. 次のコマンドを実行してサーバー証明書と秘密キーを生成しますkey:

    openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem
    openssl rsa -in server-key.pem -out server-key.pem
    openssl x509 -req -in server-req.pem -days 3600 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
  4. 生成された証明書と秘密キーのファイルを MySQL インストール ディレクトリの適切な場所にコピーします。たとえば、サーバー証明書と秘密キーのファイルをデータ ディレクトリにコピーします。

2. MySQL サーバーの設定

MySQL サーバーで SSL 接続を確立する前に、対応する設定を実行する必要があります。 MySQL 構成ファイル (my.cnf) を開いて、次の構成を追加できます。

[mysqld]
ssl-ca=ca-cert.pem
ssl-cert=server-cert.pem
ssl-key=server-key.pem

上記の構成内のファイル名を実際の証明書と秘密キーのファイル名に置き換えて、これらのファイルが正しく設定されていることを確認してください。指定された場所に正しく保存されています。構成が完了したら、MySQL サーバーを再起動します。

3. MySQL データベースへの接続

クライアントが MySQL データベースに接続するときは、SSL 接続オプションを指定する必要があります。接続文字列に次のオプションを追加できます:

--ssl-ca=ca-cert.pem
--ssl-cert=client-cert.pem
--ssl-key=client-key.pem
--ssl-cipher=DHE-RSA-AES256-SHA

where --ssl-ca--ssl-cert、および --ssl- key は、クライアントが使用する CA 証明書、クライアント証明書、およびクライアント秘密キーをそれぞれ指定します。 --ssl-cipher を使用して SSL 暗号化アルゴリズムを指定できます。この例では DHE-RSA-AES256-SHA を使用しています。

以下は、PHP を使用して MySQL データベースに接続するためのサンプル コードです:

<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "database";

$ca_cert = "/path/to/ca-cert.pem";
$client_cert = "/path/to/client-cert.pem";
$client_key = "/path/to/client-key.pem";

$mysqli = new mysqli($servername, $username, $password, $dbname, null, null, MYSQLI_CLIENT_SSL);
$mysqli->ssl_set($client_key, $client_cert, $ca_cert, null, null);

if ($mysqli->connect_error) {
    die("Connection failed: " . $mysqli->connect_error);
}

echo "Connected successfully";

$mysqli->close();
?>

$servername, $username, # を変更してください。 ##$password $dbname を実際の接続情報に置き換え、$ca_cert$client_cert$client_key を次の情報に置き換えます。実際の証明書と秘密キーへのファイル パス。接続に成功すると、「接続に成功しました」と出力されます。

上記は、MySQL SSL 接続の詳細な手順と対応するコード例です。 SSL 接続を通じて、MySQL データベースの送信中のセキュリティを保護し、データの機密性と整合性を向上させることができます。

以上がMySQL SSL接続手順の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。