Se connecter avec un client MySQL en réseau Facile

Se connecter avec un client MySQL en réseau


» Se connecter avec un client MySQL en réseau

Vous l'aurez probablement remarqué depuis le temps, mais phpMyAdmin, même s'il est puissant et assez intuitif, souffre d'un cruel manque de réactivité et de performances.
Quand on débute, c'est l'outil idéal pour la manipulation de vos bases de données. Toutefois, avec l'expérience, notamment pour les développeurs, il peut s'avérer utile d'utiliser un client MySQL.
Si comme moi, vous avez la chance de disposer d'un serveur prévu uniquement pour le développement, cette documentation vous aidera à coup sûr afin d'accéder à vos bases de données via votre réseau local.

Les configurations utilisées pour cette documentation sont :
  • Un serveur sous Windows Server 2008 R2 avec contrôleur de domaine Active Directory, et WampServer 2.2e 64-bit
  • Un poste de travail sous Windows XP Professionnel, intégré au domaine
» Clients :

Voici une liste non exhaustive de clients :

Vous l'aurez certainement compris, je suis sous environnement Windows.
Et étant habitué depuis quelques temps, j'utiliserai SQLyog Community pour cette documentation.
Néanmoins, rien ne vous empêche d'utiliser un autre client.

Nota Bene : Sachez que les réglages de base de SQLyog Community sont les mêmes pour SQLyog.

» Configurer SQLyog Community :

Je ne reviendrai pas sur l'installation de ce logiciel. En effet, il n'y a aucune particularité lors de son installation.
Une fois en place, exécutez-le. Vous obtiendrez la fenêtre suivante :

Image

Cliquez sur le bouton New... La fenêtre New connection va s'ouvrir.
Dans le champ Name, saisissez par exemple WampServer. Cela permettra de le distinguer si vous utilisez déjà SQLyog Community pour accéder à vos bases de données en ligne.
Ceci fait, cliquez sur le bouton OK.

Image Image

Il nous faut maintenant renseigner l'adresse IP ou le nom NETBIOS du serveur qui exécute WampServer à la place de la valeur localhost.
N'oubliez pas que, par défaut, le compte root de MySQL n'a pas de mot de passe sous WampServer. Donc laissez le champ Password vide, et laissez coché le bouton radio Save Password.
Afin de sauvegarder définitivement les informations, n'oubliez pas de cliquer sur le bouton Save.

Image Image Image

Nota Bene : Si vous souhaitez n'afficher que certaines bases de données, saisissez le nom de ces dernières en les séparant d'un point-virgule (;) dans le champ Database(s).

» Problématique :

Vous avez donc installé votre client sur votre poste, renseigné les informations nécessaires telles que l'adresse IP du serveur, le port, le nom d'utilisateur, etc ...
Seulement voilà, quand vous cliquez sur Connect ou sur Test Connection, vous obtenez systématiquement ceci :

Image

Pour vous faire une brève description du message d'erreur, MySQL Server n'autorise pas la connexion de l'hôte NETTOP (nom NETBIOS de mon poste).
Il va donc falloir l'autoriser à se connecter.

» Utilisateur et privilèges :

Vous avez la possibilité d'autoriser de quatre façons différentes :
  • Pour tout le monde
  • Par adresse IP, au format IPv4
  • Par adresse IP, au format IPv6
  • Par nom NETBIOS
Le format IPv6 n'ayant que peu d'intérêt sur un réseau local, nous ne nous intéresserons pas à celui-ci.

Vous trouverez ci-dessous les différentes requêtes qui nous seront utiles selon le type de cas :

Tout le monde :

Code: Tout sélectionner
CREATE USER 'root'@'%';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Il faut faire attention à ce paramètre, car n'importe qui sera habilité à se connecter.

Par adresse IP :

Code: Tout sélectionner
CREATE USER 'root'@'192.168.1.1';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.1' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

192.168.1.1 correspondant bien sûr à l'adresse IP du poste que vous souhaitez autoriser.

Par nom NETBIOS :

Code: Tout sélectionner
CREATE USER 'root'@'computer_name';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'computer_name' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

computer_name correspondant bien sûr au nom NETBIOS du poste que vous souhaitez autoriser.

» Configurer phpMyAdmin :

L'opération consiste à se rendre dans un premier temps dans l'interface phpMyAdmin sur le poste qui fera office de serveur.

Accédez à phpMyAdmin via votre navigateur, généralement http://localhost/phpmyadmin/. Vous pouvez également y accéder en cliquant sur le menu de WampServer, puis en cliquant sur phpMyAdmin.

Image Image Image

Une fois arrivé dans l'interface, cliquez sur le bouton de menu SQL. Un champ de saisie multi-lignes va s'afficher.
À l'aide des requêtes données plus haut, configurez celle qui correspond le mieux à votre besoin.
Pour ma part, j'ai utilisé le nom NETBIOS de mon poste, mais j'aurais très bien pu mettre l'adresse IP de celui-ci.
Ceci fait, cliquez sur le bouton Exécuter.

Image Image

Si phpMyAdmin vous affiche en fin de chaque ligne #MySQL a retourné un résultat vide (aucune ligne), c'est que l'opération s'est correctement déroulée.
Afin de vérifier cela, cliquez sur le bouton de menu Privilèges, et regardez la dernière ligne.

Image Image

Maintenant, vous devriez pouvoir accéder en réseau à vos bases de données. Toutefois, il est possible que votre client vous refuse l'accès à nouveau.
La réponse vient peut-être du pare-feu intégré à votre système d'exploitation.

» Configurer le pare-feu :

Comme écrit au début, je tourne sous environnement Windows. Donc selon votre système d'exploitation, il vous faudra bien sûr adapter ce réglage (si besoin est).

Cliquez sur le menu Démarrer, puis sur Panneau de configuration. De là, cliquez sur la section Système et sécurité » Pare-feu Windows.

Image Image Image

Dans la partie gauche de la fenêtre, cliquez sur Paramètres avancés. Si vous êtes habitué à peaufiner vos règles de sécurité sous Windows Vista ou Windows 7, vous n'éprouverez aucune difficulté particulière.

Image

Pour ceux pour qui ce n'est pas le cas, ne vous inquiétez, ça a l'air complexe de prime abord. Mais en réalité, c'est simple.

Cliquez à gauche sur Règles de trafic entrant, puis à droite sur Nouvelle règle...

Image Image

Un assistant va alors s'ouvrir. Sélectionnez Port en type de règle, puis cliquez sur le bouton Suivant.

Image Image

Sur la fenêtre Protocole et ports, assurez-vous que la règle s'applique au protocole TCP. Puis dans le champ Ports locaux spécifiques, saisissez la valeur 3306 (c'est le port utilisé par défaut par MySQL). Cliquez sur le bouton Suivant ensuite.

Image Image

Sur la fenêtre Action, l'action Autoriser la connexion est normalement sélectionnée par défaut. Si ce n'est pas le cas, faites-le. Cliquez sur le bouton Suivant.

Image

Comme décrit au début de cette documentation, je travaille sur un domaine. Je vais donc décocher pour ma part Privé et Public dans les profils.
Si vous êtes sur un groupe de travail, vous devrez décocher Domaine et Public. Cliquez ensuite le bouton Suivant.

Image Image

Pour le nom de la règle, spécifiez simplement MySQL. Cliquez enfin sur le bouton Terminer.

Image Image

Vous l'aurez remarqué, une nouvelle règle de filtrage intitulée MySQL est apparue dans la liste.

Image

» Test de connexion et connexion :

De nouveau sur votre poste, dans SQLyog Community, cliquez sur le bouton Test Connection.
Si tout s'est correctement déroulé, vous devriez obtenir un message d'information qui vous notifie de la bonne connexion à MySQL Server ainsi que sa version.

Image

Fermez cette fenêtre en cliquant sur le bouton OK, puis cliquez sur le bouton Connect.
Vous devriez voir apparaître à gauche l'ensemble des bases de données présentes sur votre serveur.

Image

» That's all Folks

Bon amusement et bon développement ;).
Avatar de l’utilisateur
ABDev
Programmationateur
Programmationateur
 
Rédigé le: 09 Fév 2014 à 22:31
Articles: 3
Noter cet article: 123456 Votants: 5
Mots-clés: mysql, réseau

Retourner vers Base de données


cron