


Implémentation du cryptage SSL / TLS pour les connexions MySQL
Jul 02, 2025 pm 04:02 PMLa connexion MySQL permet le cryptage SSL / TLS pour empêcher les données d'être écoutées ou falsifiées pendant la transmission et assure la sécurité de la communication entre le client et le serveur. 1. Tout d'abord, confirmez si la version MySQL prend en charge SSL et vérifiez-la via les variables Show comme la commande 'have_ssl'. Si NO est retourné, vous devez installer le composant OpenSSL ou utiliser une distribution qui prend en charge SSL; 2. Préparez le certificat CA, le certificat de serveur et les fichiers de clés privés, vous pouvez créer votre propre CA et générer des fichiers connexes. L'environnement de test peut utiliser un certificat auto-signé. Il est recommandé d'utiliser un CA de confiance pour l'émettre dans l'environnement de production; 3. Spécifiez les chemins SSL-CA, SSL-CERT et SSL-Key dans le fichier de configuration MySQL et redémarrez le service MySQL pour prendre effet. Vérifiez s'il est activé avec succès via le statut Show comme ?SSL_CIPHER?; 4. Ajouter l'exigence lors de la création d'un utilisateur SSL force la connexion SSL. Lorsque le client se connecte, les paramètres SSL tels que - SSL-CA et - SSL-mode doivent être spécifiés. Différents outils doivent activer manuellement les options SSL; De plus, vous devez faire attention aux autorisations de fichiers de certificat, à l'exactitude du chemin et à la question de savoir si le client permet vraiment le mode SSL pour garantir que l'ensemble du processus de connexion est crypté et fiable.
La connexion MySQL permet le cryptage SSL / TLS, principalement pour empêcher les données d'être écoutées ou falsifiées pendant la transmission. Cette étape est essentielle si vous gérez les services de base de données ou si vous êtes responsable de la communication sécurisée entre les applications et les bases de données. En termes simples, après l'activation de SSL / TLS, toutes les communications entre le client et le serveur MySQL seront cryptées, et il est difficile d'interpréter le contenu même si quelqu'un intercepte le trafic.

Voici quelques suggestions pratiques pour vous aider à terminer la configuration en douceur.

1. Assurez-vous que MySQL prend en charge SSL / TLS
Toutes les versions MySQL ne sont pas activées par défaut SSL. Tout d'abord, vous devez confirmer si votre version MySQL prend en charge les connexions SSL. Vous pouvez le voir via la commande suivante:
Afficher des variables comme 'have_ssl';
Si la valeur de retour est YES
, cela signifie que MySQL a déjà un support SSL; S'il est DISABLED
ou NO
, vous devrez peut-être installer ou configurer des composants liés à SSL, tels que OpenSSL, et recompiler MySQL ou utiliser une distribution qui prend en charge SSL (comme Percona Server ou MARIADB).

2. Préparer le fichier de certificat SSL
Vous devez préparer trois fichiers principaux:
- Certificat CA (CA.PEM)
- Certificat de serveur (server-cert.pem)
- Clé privée de serveur (server-key.pem)
Vous pouvez générer ces fichiers vous-même ou les acheter auprès d'une institution de CA de confiance. Les certificats auto-signés conviennent aux environnements de test, mais les environnements de production recommandent d'utiliser des certificats formels.
Les étapes de base pour générer un certificat auto-signé sont les suivantes (OpenSSL est requis):
Générer la clé privée et le certificat CA:
OpenSSL Genrsa 2048> CA-key.pem OpenSSl req -new -x509 -Nodes -Days 365 -Key Ca-key.pem -out Ca.pem
Générer la clé privée et la demande de certificat de serveur:
OpenSSL REQ -NEWKEY RSA: 2048 -Days 365 -Nodes -KeyOut Server-Key.pem -out Server-Req.pem OpenSSL X509 -req -in Server-Req.pem -Days 365 -ca CA.PEM -Cakey Ca-key.pem -CacreateSerial -out Server-CERT.PEM
Une fois la génération terminée, mettez ces trois fichiers à l'emplacement spécifié dans la configuration MySQL, généralement un répertoire comme /etc/mysql/ssl/
.
3. Configurez MySQL pour activer SSL
Modifiez le fichier de configuration de MySQL (généralement my.cnf
ou my.ini
) et ajoutez le contenu suivant dans la section [mysqld]
:
[mysqld] ssl-ca = / etc / mysql / ssl / ca.pem ssl-cert = / etc / mysql / ssl / server-cert.pem ssl-key = / etc / mysql / ssl / server-key.pem
Ensuite, redémarrez le service MySQL pour rendre la configuration prendre effet:
sudo systemctl redémarrer mysql
Vous pouvez utiliser l'instruction SQL suivante pour vérifier que SSL est chargé correctement:
Afficher le statut comme ?ssl_cipher?;
Si vous voyez une valeur de sortie (non vide), cela signifie que SSL a été activé avec succès.
4. Forcer le client à utiliser la connexion SSL
Il ne suffit pas d'activer SSL, et il est également nécessaire de s'assurer que le client utilise effectivement le cryptage lors de la connexion. Vous pouvez ajouter une option SSL forcée lors de la création d'un utilisateur:
Utilisation de l'octroi sur *. * à 'Secure_User' @ '%' exiger ssl; Privilèges de rin?age;
De cette fa?on, l'utilisateur doit se connecter via SSL, sinon l'accès sera refusé.
De plus, les paramètres SSL doivent être spécifiés lors de la connexion au client. Par exemple, utilisez la ligne de commande pour se connecter:
mysql -u secre_user -p --host = your.mysql.server --sl-ca = / path / to / ca.pem --sl-mode = Verify_identity
Différents outils clients (tels que MySQL Workbench, NAVICAT, etc.) ont également des paramètres SSL correspondants. N'oubliez pas de vérifier "Utiliser SSL" et d'importer le certificat CA.
Fondamentalement, c'est tout. Bien que le processus ne soit pas compliqué, il y a plusieurs choses faciles à ignorer: d'abord, le problème des autorisations, en veillant à ce que le processus MySQL puisse lire le fichier de certificat; Deuxièmement, si le chemin de certificat est correctement configuré; Troisièmement, si le client a vraiment activé le mode SSL. Tant que ces points sont remarqués, SSL / TLS peut fonctionner de manière stable.
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le basculement de la bibliothèque principale MySQL comprend principalement quatre étapes. 1. Détection des défauts: Vérifiez régulièrement le processus principal de la bibliothèque, l'état de la connexion et la requête simple pour déterminer s'il s'agit de temps d'arrêt, de configurer un mécanisme de réessayer pour éviter une erreur de jugement et peut utiliser des outils tels que MHA, Orchestrator ou Keepalived pour aider à la détection; 2. Sélectionnez la nouvelle bibliothèque principale: sélectionnez la bibliothèque d'esclaves la plus appropriée pour les remplacer en fonction de la progression de la synchronisation des données (seconds_behind_master), de l'intégrité des données du binlog, du retard du réseau et des conditions de charge, et effectuez une compensation de données ou une intervention manuelle si nécessaire; 3. Commutation topologie: pointez les autres bibliothèques d'esclaves à la nouvelle bibliothèque ma?tre, exécutez Resetmaster ou activez GTID, mettez à jour le VIP, DNS ou la configuration proxy pour

Les étapes pour se connecter à la base de données MySQL sont les suivantes: 1. Utilisez le format de commande de base MySQL-U Username-P-H Host Adresse pour connecter, entrez le nom d'utilisateur et le mot de passe pour se connecter; 2. Si vous devez entrer directement la base de données spécifiée, vous pouvez ajouter le nom de la base de données après la commande, telle que MySQL-UROot-PmyProject; 3. Si le port n'est pas le 3306 par défaut, vous devez ajouter le paramètre -p pour spécifier le numéro de port, tel que MySQL-Uroot-P-H192.168.1.100-P3307; De plus, si vous rencontrez une erreur de mot de passe, vous pouvez la réintégrer. Si la connexion échoue, vérifiez le réseau, le pare-feu ou les paramètres d'autorisation. Si le client est manquant, vous pouvez installer MySQL-Client sur Linux via le gestionnaire de packages. Ma?tre ces commandes

IndexesinmysqlimprovequeryspeedByenablefasterDatareTevieval.1.ETHEYRODEDATACALNED, permettant à la manière dont la propriété est en particulier d'importance.

Le niveau d'isolement des transactions par défaut de MySQL est RepeatableRead, qui empêche les lectures sales et les lectures non répétibles via MVCC et les serrures d'écart, et évite la lecture fant?me dans la plupart des cas; other major levels include read uncommitted (ReadUncommitted), allowing dirty reads but the fastest performance, 1. Read Committed (ReadCommitted) ensures that the submitted data is read but may encounter non-repeatable reads and phantom readings, 2. RepeatableRead default level ensures that multiple reads within the transaction are consistent, 3. Serialization (Serializable) the highest level, prevents other transactions from modifying data through locks, ensuring data intégrité mais sacrifier les performances;

Pour nettoyer les fichiers de binlog MySQL, vous devez utiliser la commande purgebinarylogs ou définir le temps d'expiration automatique, et les fichiers ne peuvent pas être supprimés directement. 1. Utilisez la commande Purge pour nettoyer les anciens journaux par nom ou heure du fichier. Avant l'exécution, vous devez confirmer que la bibliothèque d'esclaves n'utilise plus les journaux pertinents; 2. Vérifiez l'état du journal actuel et l'emplacement de la bibliothèque d'esclaves via ShowMasterStatus et Showlavestatus pour assurer la sécurité de la plage de nettoyage; 3. Il est recommandé de définir le paramètre binlog_expire_logs_seconds pour réaliser un nettoyage automatique, qui convient aux environnements de fonctionnement à long terme; 4. La suppression des fichiers provoquera des problèmes graves tels que l'échec de la synchronisation des esclaves et les informations de journal incohérentes, et doit être évité.

Pour ajouter le répertoire bac de MySQL au chemin du système, il doit être configuré en fonction des différents systèmes d'exploitation. 1. Système Windows: Trouvez le dossier bin dans le répertoire d'installation MySQL (le chemin par défaut est généralement C: \ ProgramFiles \ MySQL \ MySQLServerx.x \ bin), cliquez avec le bouton droit "Cet ordinateur" → "Propriétés" → "Paramètres du système avancé" Invite et entrez MySQL - Vérification de Version; 2.Macos et Linux Systèmes: les utilisateurs bash modifient ~ / .bashrc ou ~ / .bash_

Les étapes clés de l'installation de MySQL sur Windows 11 sont les suivantes: 1. Téléchargez la version correcte, sélectionnez le package d'installation Windows MSI et assurez-vous que le système est 64 bits; 2. Sélectionnez le mode "personnalisé" lors de l'installation, ajoutez MySQLServer et définissez le chemin d'installation approprié; 3. Exécutez l'assistant de configuration, sélectionnez le type de configuration "Servercomputer", définissez le mot de passe racine et sélectionnez la méthode de démarrage automatique; 4. Une fois l'installation de test réussie, si la commande invite n'est pas disponible, ajoutez le répertoire du bac MySQL à la variable d'environnement du chemin du système. Suivez ces étapes pour terminer l'installation et la configuration en douceur.

Pour réinitialiser le mot de passe racine de MySQL, veuillez suivre les étapes suivantes: 1. Arrêtez le serveur MySQL, utilisez SudosystemCTlStopmysql ou SudosystemctlStopMysQLD; 2. Démarrez MySQL en - Skip-Grant-Tables, exécutez SudomysQld-Skip-Grant-Tables &; 3. Connectez-vous à MySQL et exécutez la commande SQL correspondante pour modifier le mot de passe en fonction de la version, telle que Flushprivileges; alterUser'root '@' localhost'identifiedby'your_new
