web-dev-qa-db-fra.com

Comment puis-je me connecter à la base de données MySQL exécutée sur le serveur WAMP à partir d'autres ordinateurs du même réseau local?

Je suis nouveau dans le développement web. Je demande de l'aide à vous tous. Mon problème est:

J'ai installé le serveur WAMP sur mon ordinateur de bureau. Mon ordinateur de bureau a une adresse IP LAN statique (192.168.0.101).

Je peux accéder à la page d'accueil du serveur WAMP à partir de mes autres ordinateurs connectés au même réseau en utilisant le LAN IP (192.168.0.101). Mais pendant que j'essayais d'accéder à phpMyAdmin depuis un autre ordinateur, il dit:

Interdit. Vous n'êtes pas autorisé à accéder à/phpmyadmin/sur ce serveur. Serveur Apache/2.4.9 (Win64) PHP/5.5.12 sur le port 192.168.0.101 80.

J'ai également essayé de me connecter à la base de données MySQL exécutée sur mon ordinateur de bureau en utilisant cmd sur un autre ordinateur par le code suivant, mysql -h 192.168.0.101 -u root -p (il n'y a pas de mot de passe pour l'utilisateur root).

S'il vous plaît, aidez-moi comment pourrais-je accéder à la base de données phpMyAdmin et MySQL à partir d'un autre ordinateur connecté au même réseau.

3
Al-Amin Khan

WAMPServer est principalement conçu pour être utilisé sur une seule machine, c'est-à-dire un développeur qui écrit et teste du code localement sur ce PC.

Donc, pour protéger le débutant de lui-même, la configuration par défaut d'Apache et MySQL est configurée afin qu'aucun accès ne puisse être fait au formulaire de serveur Apache ou MySQL ailleurs que sur le PC exécutant Apache et MySQL.

Lors de la modification de cette configuration, il faut veiller à n'autoriser que l'accès souhaité et non l'accès global. Soyez donc très prudent avec toute aide/tutoriel qui suggère d'ajouter Allow from all ou Require all granted car ils ne savent pas vraiment ce qu'ils font ou l'aide est basée sur l'accès à l'ensemble du site.

Pour autoriser l'accès à phpMyAdmin, vous devez modifier la configuration d'alias pour phpMyAdmin, donc éditez wamp\alias\phpmyadmin.conf et ajoutez une instruction pour autoriser l'accès à partir de n'importe quelle adresse IP sur votre réseau interne comme ceci: -

Alias /phpmyadmin "d:/wamp/apps/phpmyadmin4.1.14/"

<Directory "d:/wamp/apps/phpmyadmin4.1.14/">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride all
  <IfDefine Apache24>
    Require local
-->     Require ip 192.168.0
  </IfDefine>
  <IfDefine !Apache24>
    Order Deny,Allow
      Deny from all
      Allow from localhost ::1 127.0.0.1
-->     Allow from 192.168.0
    </IfDefine>
  php_admin_value upload_max_filesize 128M
  php_admin_value post_max_size 128M
  php_admin_value max_execution_time 360
  php_admin_value max_input_time 360
</Directory>

Si vous voulez réellement accéder à MySQL via le processeur mysql.exe et d'autres outils comme celui-ci à partir d'une autre adresse IP, vous avez essentiellement le même problème.

Le compte utilisateur MySQL est composé de 2 parties, un UserId et un Host. La partie Host indique à MySQL d'où cet ID utilisateur est autorisé à se connecter. Si vous regardez en utilisant phpMyAdmin sur les comptes d'utilisateurs pré-créés dans MySQL, vous verrez que la partie Hôte de tout le compte est soit 127.0.0.1 ou localhost ou ::1 qui équivalent tous à The PC running MySQL. Encore une fois, pour la sécurité du débutant, aucun accès n'est autorisé depuis l'extérieur du PC exécutant MySQL.

Donc, pour utiliser mysql.exe, etc., je vous suggère de créer un nouveau compte utilisateur MySQL, disons MAKhan avec un hôte de 192.168.0ET BIEN SÛR UN MOT DE PASSE. Ce compte leur sera autorisé à se connecter à MySQL à partir de n'importe quelle adresse IP de votre réseau local. Vous devrez bien sûr donner des droits à ce nouveau compte pour qu'il puisse accéder à tout ou partie des bases de données du serveur MySQL.

4
RiggsFolly

Si vous accédez à PHPMyAdmin à partir d'un autre emplacement LAN, le serveur Apache doit être en mesure et disposé à accepter des connexions provenant d'autres que localhost. Cela signifiera probablement simplement que le port (80 par défaut) est ouvert au LAN et qu'Apache est également prêt à servir des adresses distantes (ce à quoi je m'attendrais à moins que vous n'ayez une configuration très étrange). C'est un problème WAMP.

Vous pouvez également établir des connexions MySQL distantes directement à votre base de données, mais encore une fois, vous devez ouvrir le ou les bons ports et l'utilisateur MySQL doit activer l'accès à l'hôte distant. C'est un problème MySQL.

Sans savoir quel pare-feu vous utilisez, il est difficile de conseiller la meilleure façon d'ouvrir les ports dans votre cas particulier.

Je ne l'ai pas fait sur windows, mais je l'ai fait avec mamp. Je devais juste autoriser la connexion via le pare-feu. Alors ouvrez les ports ou désactivez temporairement votre pare-feu

0
user2537388