Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment se connecter à distance à une base de données MySQL située sur notre serveur partagé

Pour des raisons de sécurité, connexion MySQL à distance est désactivé sur nos serveurs d'hébergement mutualisé. Cependant, vous pouvez facilement configurer un tunnel SSH entre votre ordinateur et notre serveur en utilisant un client SSH avec le transfert du port MySQL 3306.

Après cela, vous aurez le port 5522 sur votre machine locale qui écoute et transmet l'hôte local de votre serveur distant sur le port 3306. Vous pouvez maintenant vous connecter efficacement au serveur distant la base de données MySQL du serveur comme si elle s'exécutait sur votre machine locale.

REMARQUE  :Si vous essayez de vous connecter à PostgreSQL bases de données, utilisez le port 5432 au lieu de 3306.

Vous trouverez ci-dessous les étapes de configuration d'un client SSH tiers (PuTTY) et MacOS et Linux intégré un (Terminal) .

REMARQUE :Assurez-vous que l'accès SSH est activé pour votre compte. N'hésitez pas à suivre ce guide pour vérifier les réglages.

Voici une liste de détails dont vous aurez besoin dans le processus :

Détails de la connexion SSH :
  • Nom d'hôte du serveur :server168.web-hosting.com
  • Port :21098
  • nom d'utilisateur cPanel :tunneltest
  • Mot de passe cPanel :cpanel_password


Le nom d'hôte de votre serveur sera différent pour votre compte. Vous pouvez le vérifier dans votre e-mail de bienvenue pour votre plan d'hébergement.

Votre nom d'utilisateur et votre mot de passe cPanel sont ce que vous utilisez pour vous connecter à votre compte cPanel.

Le port sera identique pour tous les serveurs d'hébergement mutualisé.

Détails MySQL côté serveur :
  • Nom d'hôte du serveur :127.0.0.1
  • Port : 3306
  • Nom de la base de données :tunneltest_db
  • Utilisateur de la base de données :tunneltest_user
  • Mot de passe de la base de données :db_user_password


Le nom d'hôte et le port de votre serveur seront les mêmes pour tous les serveurs d'hébergement partagé.

Votre nom de base de données, votre utilisateur et votre mot de passe sont ceux que vous avez spécifiés lors de la création de la base de données dans le menu Bases de données MySQL. Si vous n'êtes pas familier avec ce menu, n'hésitez pas à consulter cet article.

Détails du tunnel :
  • IP locale :127.0.0.1
  • Port local :5522
  • IP distant :127.0.0.1
  • Port distant :3306


Votre adresse IP locale et votre port peuvent être modifiés, selon vos préférences.

Étant donné que certains de nos clients utilisent des serveurs MySQL locaux sur le port 3306, utilisons le 5522 port dans cet exemple pour s'assurer que le port local n'est utilisé par aucun service.

Votre adresse IP et votre port distants doivent correspondre au nom d'hôte et au port du serveur à partir des détails MySQL côté serveur et ne peut pas être modifié.

Détails MySQL côté client :
  • Nom d'hôte du serveur :127.0.0.1
  • Port :5522
  • Nom de la base de données :tunneltest_db
  • Utilisateur de la base de données :tunneltest_user
  • Mot de passe de la base de données :bCsLHA5xs8AQ


Ce sont les détails d'accès que vous utiliserez à la fin de l'application ou du site Web que vous essayez de connecter à distance à la base de données. Le nom d'hôte et le port de votre serveur doivent correspondre à l'adresse IP et au port locaux du Détails du tunnel .

Votre nom de base de données, votre utilisateur et votre mot de passe doivent correspondre aux valeurs correspondantes des détails MySQL côté serveur .



Se connecter avec PuTTY
Se connecter avec Terminal (pour Linux et MacOS)



Se connecter avec PuTTY

1. Exécutez l'application.
2. Accédez à la Connexion onglet 'Données ' et assurez-vous que le champ Nom d'utilisateur de connexion automatique le champ est vide (vous pouvez également y saisir votre nom d'utilisateur cPanel), et l'Invite ' est cochée :



3. Accédez à la Connexion>> SSH>> Tunnels section et remplissez les valeurs mentionnées dans Détails du tunnel comme suit :
Port source =Port local
Destination =RemoteIP :RemotePort

Assurez-vous que le 'Local ' est coché puis cliquez sur Ajouter :



Une fois que vous avez fait cela, vous devriez voir le tunnel dans le champ ci-dessus :



4. Aller à la Séance et remplissez le nom d'hôte et le port en utilisant le nom d'hôte et le port du serveur à partir de vos détails de connexion SSH . Choisissez maintenant un nom pour ce préréglage et saisissez-le dans le champ Sessions enregistrées. Cliquez sur Enregistrer pour enregistrer cette configuration.



5. Cliquez maintenant sur Ouvrir pour établir une connexion au serveur.

REMARQUE  :Puisque vous avez déjà enregistré vos paramètres de session, vous pouvez ignorer les étapes 1 à 4 la prochaine fois que vous souhaitez ouvrir un tunnel SSH.

Sélectionnez simplement le préréglage enregistré dans la liste, cliquez sur Charger et Ouvrir pour l'utiliser.

6. Lorsque vous vous connectez au serveur pour la première fois, une alerte de sécurité apparaît. Cliquez sur Accepter pour continuer.



7. Vous serez maintenant invité à entrer votre nom d'utilisateur et votre mot de passe cPanel trouvés dans vos détails de connexion SSH .

REMARQUE :Les symboles n'apparaissent pas dans le terminal lorsque vous tapez le mot de passe. C'est la façon dont Terminal protège votre mot de passe.

Une fois le mot de passe accepté, une invite du serveur apparaîtra. Le tunnel SSH est maintenant établi et toutes les connexions à localhost via le port 5522 seront transmises à votre compte d'hébergement.



REMARQUE :Le tunnel SSH fonctionnera tant que cette fenêtre sera active. Ne fermez PAS cette fenêtre tant que vous n'avez pas fini de travailler avec la base de données.

Nous pouvons maintenant nous connecter à une base de données sur le serveur d'hébergement mutualisé en utilisant les informations MySQL côté client avec n'importe quel client MySQL. Par exemple :






Se connecter avec Terminal (pour Linux et MacOS )


1. Exécutez l'application et entrez la commande suivante :

ssh -f [email protected] -p21098 -L 5522:127.0.0.1:3306 -N

"[email protected] -p21098" est rempli à l'aide des détails de connexion SSH :
[compte cpanel]@[nom d'hôte du serveur] -p[port]

"-L 5522:127.0.0.1:3306" est rempli à l'aide de Détails du tunnel :
[Port local] :[IP distant] :[Port distant]

L'adresse IP locale n'est pas spécifiée dans ce cas et est par défaut 127.0.0.1

2. Appuyez sur Entrée et spécifiez votre mot de passe cPanel (les symboles n'apparaîtront pas dans le terminal lorsque vous saisissez le mot de passe - c'est la façon dont Terminal protège votre mot de passe).

Si c'est la première fois que vous vous connectez à ce serveur, l'invite suivante apparaît :Êtes-vous sûr de vouloir continuer à vous connecter (oui/non) ? Tapez oui et appuyez sur Entrée pour continuer.

3. Une fois que vous avez fait cela, toutes les connexions à localhost via le port 5522 seront transmises à votre compte d'hébergement. Nous pouvons maintenant nous connecter à une base de données sur le serveur d'hébergement mutualisé en utilisant les détails MySQL côté client avec n'importe quel client MySQL.

Voici un exemple utilisant un client MySQL en ligne de commande :

mysql -h 127.0.0.1 -P 5522 tunneltest_db -p -u tunneltest_user

Le résultat final ressemblera à ceci :





C'est tout !