Maison  >  Article  >  base de données  >  Explication détaillée des étapes de connexion MySQL SSL

Explication détaillée des étapes de connexion MySQL SSL

王林
王林original
2023-09-08 11:46:501138parcourir

MySQL SSL 连接的步骤详解

Explication détaillée des étapes de connexion MySQL SSL

MySQL est un système de gestion de base de données relationnelle couramment utilisé qui prend en charge les connexions sécurisées à la base de données via SSL (Secure Sockets Layer). Pour certains scénarios d'application nécessitant de protéger la transmission de données, l'utilisation de connexions SSL constitue une mesure de sécurité très importante. Cet article détaillera les étapes de la connexion MySQL SSL et fournira des exemples de code correspondants.

1. Générer un certificat SSL et une clé privée

Avant d'utiliser la connexion SSL, vous devez générer un certificat et une clé privée. Vous pouvez générer un certificat SSL et une clé privée en suivant les étapes suivantes :

  1. Ouvrez un terminal de ligne de commande et entrez dans le dossier bin du répertoire d'installation de MySQL.
  2. Exécutez la commande suivante pour générer le certificat CA (Certificate Authority) et la clé privée :

    openssl genrsa 2048 > ca-key.pem
    openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca-cert.pem
  3. Exécutez la commande suivante pour générer le certificat du serveur et la clé privée :

    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. Copiez le certificat généré et les fichiers de clé privée dans le répertoire d'installation MySQL Copiez l'emplacement approprié, tel que le certificat du serveur et les fichiers de clé privée, dans le répertoire de données.

2. Configurer le serveur MySQL

Avant d'établir une connexion SSL sur le serveur MySQL, vous devez effectuer la configuration correspondante. Vous pouvez ouvrir le fichier de configuration MySQL (my.cnf) et ajouter la configuration suivante :

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

Veuillez remplacer les noms de fichiers dans la configuration ci-dessus par les vrais noms de fichiers de certificat et de clé privée, et assurez-vous que ces fichiers sont correctement stockés dans le emplacement spécifié. Une fois la configuration terminée, redémarrez le serveur MySQL.

3. Connectez-vous à la base de données MySQL

Lorsque le client se connecte à la base de données MySQL, vous devez spécifier l'option de connexion SSL. Les options suivantes peuvent être ajoutées à la chaîne de connexion :

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

Parmi elles, --ssl-ca, --ssl-cert et --ssl- key Spécifiez respectivement le certificat CA, le certificat client et la clé privée client utilisés par le client. <code>--ssl-cipher peut être utilisé pour spécifier l'algorithme de cryptage SSL, l'exemple ici utilise DHE-RSA-AES256-SHA. --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

Ce qui suit est un exemple de code pour se connecter à une base de données MySQL à l'aide de PHP :

rrreee

Veuillez remplacer $servername, $username, $password et $dbname par les informations de connexion réelles, et remplacez $ca_cert, $client_cert et $client_key par le vrai certificat et le chemin du fichier de la clé privée. Une fois la connexion réussie, « Connecté avec succès » s'affichera. 🎜🎜Ci-dessus sont les étapes détaillées et les exemples de code correspondants de la connexion MySQL SSL. Grâce à la connexion SSL, vous pouvez protéger la sécurité lors de la transmission de la base de données MySQL et améliorer la confidentialité et l'intégrité des données. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn