11
votes

Y a-t-il un bon tunnel HTTP de PHP universel MySQL?

De nombreux outils Windows MySQL tels que Navicat ou EMS ont cette chose - vous venez de mettre un fichier PHP sur un hébergement partagé et de connecter un programme d'exécution local au serveur MySQL distant sur le Web via le service Web exposé par ce fichier PHP. < / p>

Y a-t-il de bonnes solutions gratuites populaires pour exposer la totalité MySQL en tant que service Web à l'aide de PHP?


2 commentaires

Pour clarifier, faites-vous référence à un SGBD basé sur le Web?


Oui, probablement que nous pouvons le dire. Mais je n'ai besoin ni de stockage local de SMTP Simplicistic Simplist Simplist. J'ai besoin d'un DBMS relationnel transactionnel complet (comme MySQL Innodb, PostgreSQL ou MS SQL Server) à être exposés par PHP ou Ruby à accéder du côté client sur la bande via HTTP.


4 Réponses :


6
votes

SQLYOG's Tunnel HTTP est très décent.

Entrez la description de l'image ici


2 commentaires

Malheureusement, le fichier sqlyogtunnel.php utilise le déprécié mysql _ * fonction qui ne fonctionnera pas sur php 7.0 ^


ne fonctionne que avec édition payante



2
votes

Essayez d'utiliser HTTPTUNnel GNU. Ici, exemple Connexion à MySQL à l'aide de HTTPTUNnel GNU.


2 commentaires

Merci, mais le bon logiciel est HTTPtunnel de http-tunnel.sourceforge.net , pas le GNU HTTPtunnel de NOCREW.ORG/SOFTWARE/HTTTUNnel.html


@diyisme Avez-vous réussi à le faire fonctionner?



5
votes

Vous pouvez utiliser TCP / IP sur SSH à partir de MySQL Workbench et SQLYOG sans avoir besoin de script de tunneling PHP si vous avez un accès SSH sur votre serveur.

J'ai eu des sites clients sur des hôtes partagés où cela ne fonctionne pas en raison de la configuration du serveur qui est hors de mon contrôle. J'ai surmonté cette restriction via un tunneling SSH qui a l'avantage supplémentaire d'être crypté (évidemment, cela ne fonctionnera que si vous avez un accès SSH à l'hôte), bien que noté, le message original a demandé un tunnel HTTP.

Pour configurer le tunneling SSH dans SQLYOG, sur l'onglet MySQL pour votre connexion, entrez vos informations d'identification MySQL lorsque vous le feriez normalement pour un utilisateur local sur l'hôte (remplacer «racine» et votre mot de passe avec quelque chose de sécurisé et sensible):

configuration MySQL

puis sous l'onglet SSH, entrez les détails de votre connexion terminal (nom d'utilisateur, mot de passe et port de port si non 22):

configuration SSH

Enregistrez votre connexion.

Le processus est similaire dans MySQL Workbench, donc ne devrait pas être difficile à comprendre.


3 commentaires

Qu'est-ce que cela ajoute à la réponse actuellement acceptée?


La réponse acceptée consiste à utiliser un tunnel HTTP via SQLYOGTUNnel.php Script. J'ai eu des sites clients sur des hôtes partagés où cela ne fonctionne pas en raison de la configuration du serveur qui est hors de mon contrôle. Je suggérant d'utiliser un tunneling SSH qui a l'avantage supplémentaire d'être crypté (évidemment, cela ne fonctionnera que si vous avez un accès SSH à l'hôte), bien que noté, le message original a demandé un tunnel HTTP.


Bon commentaire, ajoutez-le sur votre réponse



1
votes

J'ai construit un mysqltunnel script dans php et mettez-le dans Sourceforge. Vous pouvez le télécharger et essayer. Il supporte:

  • Tunneling HTTP à MySQL
  • Resultats JSON
  • Compression à la demande pour préserver la bande passante
  • cryptage à la demande à l'aide de AES-128 ou AES-256 pour préserver les données sécurisées et mot de passe
  • prend en charge HTTP: // et https: //
  • Écrit en PHP peut être installé sur n'importe quelle lampe ou empilement de wamp
  • Communication rapide et sécurisée

    ici Vous pouvez le trouver

    espère qu'il aide


4 commentaires

Merci d'avoir partagé! Juste pour m'assurer que je comprends: puisqu'il renvoie Json, il ne peut pas être utilisé directement en pointant son URL à un connecteur de base de données, non? Il faudrait-il écrire un code spécifique pour envoyer des demandes et des réponses d'analyse, non?


Oui vous avez raison. Du côté du client, vous devez envoyer des demandes HTTP (S) et récupérer les résultats des JSON que nécessaire pour être analysé. Mais ce serait une routine facile dans n'importe quelle langue. J'ai moi-même utilisé ce tunnel dans les applications PHP, Delphi et Java (Android).


Merci beaucoup pour la réponse rapide! Je conviens que ce serait facile. L'inconvénient que je vois, c'est qu'il crée un couplage serré entre l'utilisation du code et la mise en œuvre. Si on change plus tard la base de données, et finit par ne pas avoir besoin d'un tunnel, il faut réécrire le code de l'utilisateur, au lieu de simplement changer l'hôte et le port de la base de données.


Ce n'est pas un tunnel. Le point d'un tunnel / proxy est que vous pouvez utiliser le client SQL de votre choix comme si Vous vous connectez directement à l'hôte.