Maison > base de données > tutoriel mysql > Explication détaillée de la façon d'accéder à MySQL via le canal SSH

Explication détaillée de la façon d'accéder à MySQL via le canal SSH

藏色散人
Libérer: 2020-01-28 13:39:16
avant
2388 Les gens l'ont consulté

Explication détaillée de la façon d'accéder à MySQL via le canal SSH

Souvent, lorsque vous utilisez Mysql, vous rencontrerez les situations suivantes :

1. Les informations sont importantes et vous souhaitez que la communication soit cryptée.

2. Certains ports, comme le port 3306, sont désactivés par le routeur.

Une solution plus directe au premier problème consiste à changer le code mysql, ou à utiliser certains certificats, mais cette méthode n'est évidemment pas très simple.

Tutoriels vidéo d'apprentissage associés recommandés : Tutoriel vidéo mysql

Ici, nous présenterons une autre méthode, qui consiste à utiliser le canal SSH pour se connecter à Mysql distant. simple.

1. Établissez un canal SSH

Tapez simplement la commande suivante localement :

ssh -fNg -L 3307:127.0.0.1:3306 myuser@remotehost.com
The command tells ssh to log in to remotehost.com as myuser, go into the background (-f) and not execute any remote command (-N), and set up port-forwarding (-L localport:localhost:remoteport ). In this case, we forward port 3307 on localhost to port 3306 on remotehost.com.
Copier après la connexion

2. >Maintenant, vous pouvez vous connecter localement à la base de données distante, tout comme accéder à la base de données locale.

mysql -h 127.0.0.1 -P 3307 -u dbuser -p db
The command tells the local MySQL client to connect to localhost port 3307 (which is forwarded via ssh to remotehost.com:3306). The exchange of data between client and server is now sent over the encrypted ssh connection.
Copier après la connexion

Ou utilisez Mysql Query Browser pour accéder au port 3307 du client.

De même, utilisez PHP pour accéder à :

<?php
$smysql = mysql_connect( "127.0.0.1:3307", "dbuser", "PASS" );
mysql_select_db( "db", $smysql );
?>
Making It A Daemon
A quick and dirty way to make sure the connection runs on startup and respawns on failure is to add it to /etc/inittab and have the init process (the, uh, kernel) keep it going.
Add the following to /etc/inittab on each client:
sm:345:respawn:/usr/bin/ssh -Ng -L 3307:127.0.0.1:3306 myuser@remotehost.com
And that should be all you need to do. Send init the HUP signal ( kill -HUP 1 ) to make it reload the configuration. To turn it off, comment out the line and HUP init again.
Copier après la connexion

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!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal