Maison >base de données >tutoriel mysql >Comment puis-je me connecter en toute sécurité à une base de données MySQL distante via le tunnel SSH en PHP ?

Comment puis-je me connecter en toute sécurité à une base de données MySQL distante via le tunnel SSH en PHP ?

DDD
DDDoriginal
2024-11-24 06:33:13598parcourir

How Can I Securely Connect to a Remote MySQL Database via SSH Tunnel in PHP?

Connectez-vous à un serveur MySQL via SSH en PHP

Pour établir une connexion sécurisée à votre base de données MySQL distante à l'aide de SSH et PHP, plusieurs approches exister. Une méthode largement adoptée consiste à configurer un tunnel SSH.

Solution de tunnel SSH

Étape 1 : Créer un tunnel SSH

Utilisez un client GUI MySQL avec des capacités de tunneling SSH (par exemple, Visual Studio Code, TablePlus) ou la ligne de commande. Si vous utilisez la ligne de commande, exécutez la commande suivante, en remplaçant les valeurs nécessaires :

ssh -fNg -L <local_port>:<database_server_addr>:<database_server_port> <username>@<ssh_proxy_host>

Remplacez avec le port que vous souhaitez utiliser sur votre ordinateur local (par exemple, 3307), avec l'adresse IP de votre serveur de base de données, avec le numéro de port de votre base de données, avec votre nom d'utilisateur SSH et avec l'adresse de l'hôte proxy SSH.

Étape 2 : Configurez votre client MySQL

Demandez à votre client MySQL local de se connecter via votre tunnel SSH. Par exemple, utilisez la commande suivante :

mysql -h 127.0.0.1 -P <local_port> -u <dbuser> -p

Replace avec le port que vous avez spécifié à l'étape 1, avec le nom d'utilisateur de votre base de données et entrez votre mot de passe lorsque vous y êtes invité.

Étape 3 : Connectez-vous à l'aide de PHP

Pour vous connecter à votre base de données MySQL à l'aide de PHP, utilisez le code suivant :

<?php
$smysql = mysql_connect("127.0.0.1:<local_port>", "<dbuser>", "<passphrase>");
mysql_select_db("db", $smysql); 
?>

Remplacer avec le port que vous avez spécifié à l'étape 1, avec le nom d'utilisateur de votre base de données et avec le mot de passe de votre base de données.

En suivant ces étapes, vous pouvez vous connecter en toute sécurité à votre base de données MySQL distante via SSH et effectuer des opérations de base de données à l'aide de PHP.

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