Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[mySQL]Host '192.168.2.1' is not allowed to connect to this MySQL server

10 réponses
Avatar
yvon.thoravallist
je viens d'installer la version 4 de mySQL et je n'arrive pas à m'y
connecter en tcp/ip, j'ai l'impression que le socket utilisé est de type
unix d'où le message d'erreur quand je tente une connexion par
phpMyAdmin:

Host '192.168.2.1' is not allowed to connect to this MySQL server

comment passe t'on de l'un à l'autre ?

--
Yvon

10 réponses

Avatar
bertrand.lupart
je viens d'installer la version 4 de mySQL et je n'arrive pas à m'y
connecter en tcp/ip, j'ai l'impression que le socket utilisé est de type
unix d'où le message d'erreur quand je tente une connexion par
phpMyAdmin:

Host '192.168.2.1' is not allowed to connect to this MySQL server

comment passe t'on de l'un à l'autre ?


Si c'est comme les versions 3, il faut commenter la ligne
"skip-networking" dans le fichier de configuration.

--
Bertrand

The Caudium Web Server - http://www.caudium.net/

Avatar
bertrand.lupart
Si c'est comme les versions 3, il faut commenter la ligne
"skip-networking" dans le fichier de configuration.


merci, non, ce n'était pas cela, je suis à la version 4.0.x, dans cette
version l'équivalent de skip-networking est commenté.


Donc, ce n'est pas la méthode pour passer de sockets à TCP/IP que tu
veux :)

c'est un pb d'interaction avec le dns de mon fai. je suis en freebox,
localhost ne marche pas d'emblée, il faut ajouter le routeur
(192.168.3.1) car le localhost, dans ce cas avec freebox, si j'ai bien
compris est ègal au "fully qualified domain name" même si, pour moi je
n'en ai pas...
(ip fixe de la freebox) qui donne un nom du genre :
nord-2-(ip séparé par des tirets).fbx.proxad.net

maintenant, le pb que j'ai à résoudre est le suivant :
j'ai deux bécannes reliées au net par le même "routeur" toutes les deux
ont un serveur Apache et php et mysql (mêmes versions).

je voudrais pouvoir me loger sur mysql de l'une à partir de l'autre,
mais à cause de cette adresse commune du routeur ca ne marche pas, pour
l'instant.

je ne vois pas trop comment résoudre cela.

les noms "rendez-vous" de mes deux machines sont :
pp.local (pour le vieux 9500)
iB.local (pour mon nid bouc)

si j'ai un fichier php avec une requête sql sur ib et que je pointe sur
:

http://iB.local/~yvonthor/ma_requete_sql.php
-------^^
c'est le mysql sur ib qui répond même si, bien sûr je me connecte à
travers le routeur. C'est sans doute une erreur de ma part d'avoir mis
cette adresse du routeur, je n'aurais sans doute dû ne mettre que
l'adresse FQDN sur la bécanne reliée directement au net.

peut-^tre ne devrais-je mettre que l'IP fixe sur cette bécanne ???

je ne pige pas comment ca se passe , ma requête :

$db = mysql_connect("192.168.3.1", "yvonthor", "top_secret");

par contre si, depuis ib je fais :

http://pp.local/~yvonthor/ma_requete_sql.php
-------^^
ca marche bien (même requête), or je voudrais pouvoir faire :
http://iB.local/~yvonthor/ma_requete_sql.php
-------^^
avec une requête qui serait la même sur les deux bécannes (comme on fait
de l'extérieur).

donc, kje pense que mon erreur est d'avoir mis le routeur comme adresse
allowed sur mysql.pp, que je devrais changer le setup pour pouvoir faire
:

$db = mysql_connect("ip_fixe_de_ma_freebox", "yvonthor", "top_secret");

mais, bon, je prés-sent qu'il y a un truc que je n'ai pas pigé dans
l'adressage de mon serveur sql ???

enfin, voilà mes suputations


C'est un peu confus, j'ai du mal à comprendre ce que tu fais, ce qui
fonctionne et ce que tu veux :)

Si tes deux machines sont dans le même sous-réseau derrière ton routeur
et veulent communiquer entre elles, l'ip de ton routeur n'a rien à voir
là-dedans vu qu'il agit comme un switch. Le DNS de ton FAI n'a rien à
voir non plus.

Si tu veux utiliser le _même_ code PHP sur les deux machines:
- soit tu mets le nom du serveur de base de données dans un
fichier de conf lu par ton code php (fichier de conf différent pour les
deux machines)
- soit tu rajoutes par exemple db.local. dans ton fichier de
hosts avec les ip correspondantes sur chaque machine et tu te connectes
sur db.local.

J'ai l'impression d'enfoncer des portes ouvertes :/

--
Bertrand

The Caudium Web Server - http://www.caudium.net/


Avatar
yvon.thoravallist
Bertrand Lupart wrote:


C'est un peu confus, j'ai du mal à comprendre ce que tu fais, ce qui
fonctionne et ce que tu veux :)


Bon, j'ai deux bécannes, un desktop et un portable, ce que je veux c'est
qu'à partir du portable, où qu'il soit, le même code me permette de me
connecter au serveur sql de mon desktop qui a une ip fixe. Donc si mon
portable est connecté au desktop par ethernet ou par internet (rtc)
quand je suis à l'extérieur. Ceci dans une première étape, qui "marche"
actuellement mais peut-être sur de mauvais réglages :

je me connecte depuis mon iBook au serveur sql de mon desktop comme ça :
$db = mysql_connect("192.168.3.1:3306", "yvonthor", "password");
--c'est_ça-----------^^^^^^^^^^^^--qui me fait penser que j'ai dû mal
régler la config de mon serveur
Soit en pointant sur :
http://ip-fixe-de-ma-freebox/~yvonthor/mon-fichier-essai.php
ou sur :
http://ip-routeur-de-mon-desktop/~yvonthor/mon-fichier-essai.php

Si tes deux machines sont dans le même sous-réseau derrière ton routeur
et veulent communiquer entre elles, l'ip de ton routeur n'a rien à voir
là-dedans vu qu'il agit comme un switch. Le DNS de ton FAI n'a rien à
voir non plus.

Si tu veux utiliser le _même_ code PHP sur les deux machines:
- soit tu mets le nom du serveur de base de données dans un
fichier de conf lu par ton code php (fichier de conf différent pour les
deux machines)
- soit tu rajoutes par exemple db.local. dans ton fichier de
hosts avec les ip correspondantes sur chaque machine et tu te connectes
sur db.local.

J'ai l'impression d'enfoncer des portes ouvertes :/
C'est tout à fait posible, pour toi. Tu dis que mon post était confus,

je suis d'accord là-dessus. Ce qui m'a "confusionné" c'est que, quand
j'ai essayé de me connecter à mon serveur sql au départ il m'a sorti une
erreur :
Host 198.162.2.1 not allowed...
-------------^
alors que le routeur (de mon desktop) est en 198.162.3.1
-----------------------------------------------------^
et que je n'ai rien en 198.162.2.1 ???
-------------------------------^
mon iBook étant en 198.162.3.2
---------------------------^

Donc, à partir de ce problème de connexion j'ai pensé (peut-être ais-je
tort ?) que le serveur sql vérifiait d'où on se connecte c'est pourquoi
je l'ai réglé de telle manière (cf. + haut) que l'adresse du routeur
soit valide.

Ce que je voudrais, dans une deuxième étape :
avoir DEUX serveurs sql, l'un sur mon desktop, l'autre sur mon iBook.

Ceci à fin de simuler un usage courant pour une "cave à vin" :
* le serveur sql du desktop est un serveur commun à plusieurs
utilisateurs, il mémorise les carnets d'adresse de chaque utilisateur
qui veux bien partager avec d'autres ses adresses de viticulteurs.
* le serveur sql du portable a son propre carnet d'adresses
(sous-ensemble du précédent ou copie intégrale du précédent), sa propre
gestion de cave...

Dans une troisième étape :
migrer le serveur sql du desktop chez un hébergeur (je ne tiens pas à
divulguer l'ip fixe de ma freebox).
--
Yvon

Avatar
bertrand.lupart
Bon, j'ai deux bécannes, un desktop et un portable, ce que je veux c'est
qu'à partir du portable, où qu'il soit, le même code me permette de me
connecter au serveur sql de mon desktop qui a une ip fixe. Donc si mon
portable est connecté au desktop par ethernet ou par internet (rtc)
quand je suis à l'extérieur. Ceci dans une première étape, qui "marche"
actuellement mais peut-être sur de mauvais réglages :

je me connecte depuis mon iBook au serveur sql de mon desktop comme ça :
$db = mysql_connect("192.168.3.1:3306", "yvonthor", "password");
--c'est_ça-----------^^^^^^^^^^^^--qui me fait penser que j'ai dû mal


192.168.x.x ça ne route pas sur internet, donc ça ne marchera pas en
dehors de ton sous-réseau local.

Il faut te connecter à l'adresse IP fixe de ton routeur, et ton routeur
doit forwarder les requètes qu'il reçoit sur le port de ton serveur de
base de données vers ton desktop.

J'ai l'impression d'enfoncer des portes ouvertes :/
C'est tout à fait posible, pour toi.



Je voulais dire que j'avais l'impression d'expliquer des trucs que tu
devais éjà savoir.

Donc, à partir de ce problème de connexion j'ai pensé (peut-être ais-je
tort ?) que le serveur sql vérifiait d'où on se connecte c'est pourquoi
je l'ai réglé de telle manière (cf. + haut) que l'adresse du routeur
soit valide.


Oui, le serveur SQL vérifie d'où provient la connexion.

Si elle provient de ton sous-réseau local, le serveur SQL doit autoriser
192.168.3.x

Si elle provient de l'extérieur, c'est l'adresse IP du client final qui
est vérifiée (w.x.y.z). Donc si tu veux te connecter sur ton serveur SQL
de n'importe où, tu dois laisser n'importe quelle IP se connecter.

Ceci à fin de simuler un usage courant pour une "cave à vin" :


Cà doit être assez agréable à coder comme appli ;)

--
Bertrand

The Caudium Web Server - http://www.caudium.net/


Avatar
yvon.thoravallist
Bertrand Lupart wrote:


Je voulais dire que j'avais l'impression d'expliquer des trucs que tu
devais éjà savoir.

Ouias donc, en fait j'avais bien pigé excepté ce truc qui reste

incompréhensible pour moi qu'au départ il me donnait une adresse
fantôme... C'était avec phpMyAdmin, que j'ai laissé tombé je préfère
administrer en CLI.

Comme je pars demain, je voudrais que la connexion externe soit au point
avant...

Je peux tjs connecter mon iBook en rtc donc par le net plutôt qu'en
local...à fin d'essayer sur place.
[...]

Ceci à fin de simuler un usage courant pour une "cave à vin" :


Cà doit être assez agréable à coder comme appli ;)


Oui passe que je dois "tester" l'ajout et le retrait de bouteilles dans
ma cave :)

Remarques, j'ai prévu la possibilité de dons °;)
--
Yvon


Avatar
bertrand.lupart
Ouias donc, en fait j'avais bien pigé excepté ce truc qui reste
incompréhensible pour moi qu'au départ il me donnait une adresse
fantôme...


Aucune idée d'où ça peut venir, surtout qu'à priori elle ne fait pas
partie de ton sous-réseau.

Comme je pars demain, je voudrais que la connexion externe soit au point
avant...

Je peux tjs connecter mon iBook en rtc donc par le net plutôt qu'en
local...à fin d'essayer sur place.
[...]


Et ça fontionne?

Oui passe que je dois "tester" l'ajout et le retrait de bouteilles dans
ma cave :)


hé :)

Remarques, j'ai prévu la possibilité de dons °;)


:)

--
Bertrand

The Caudium Web Server - http://www.caudium.net/

Avatar
bertrand.lupart
Et ça fontionne?


ben oui, impec ! Avec d'ailleurs tjs le même appel à sql :
$db=mysql_connect("192.168.3.1","yvonthor","password");
le fichier contenant cet appel étant sur mon desktop ("192.168.3.1")


Ah ben oui, forcément. Si te te connectes sur le port HTTP de ton
desktop, c'est lui qui va faire la requète SQL sur lui-même quelle que
soit la machine qui a initié la connexion HTTP.
Mais tu disais que tu voulais directement attaquer la base SQL de ton
desktop depuis le code PHP de ton iBook: ça change tout.

Dans ce cas, tu peux plutôt te connecter sur 127.0.0.1 (et adapter les
droits dans ta base SQL). Comme ça, le code fonctionnera toujours si ta
machine change d'IP.

pour l'instant, dans mon projet, je ne vois pas quand j'aurais besoin
d'un fichier sur mon iBook qui appelerait le sql-desktop qui là
nécessiterait d'autres permissions.


C'est pas ce que j'avais compris dans tes questions :)

--
Bertrand

The Caudium Web Server - http://www.caudium.net/


Avatar
yvon.thoravallist
Bertrand Lupart wrote:


Dans ce cas, tu peux plutôt te connecter sur 127.0.0.1 (et adapter les
droits dans ta base SQL). Comme ça, le code fonctionnera toujours si ta
machine change d'IP.


ben oui mais quand on a une ip fixe comme moi, c'est pas une valeur par
défaut "localhost", la valeur par défaut devient l'IP fixe...

m'enfin ça roule ...
--
Yvon

Avatar
bertrand.lupart
Dans ce cas, tu peux plutôt te connecter sur 127.0.0.1 (et adapter les
droits dans ta base SQL). Comme ça, le code fonctionnera toujours si ta
machine change d'IP.


ben oui mais quand on a une ip fixe comme moi, c'est pas une valeur par
défaut "localhost", la valeur par défaut devient l'IP fixe...


Hein?

127.0.0.1 ça marche dans tous les cas, IP fixe ou non.

Et attention, avec MySQL localhost != 127.0.0.1

--
Bertrand

The Caudium Web Server - http://www.caudium.net/


Avatar
yvon.thoravallist
Bertrand Lupart wrote:

Et attention, avec MySQL localhost != 127.0.0.1


oui, oui, je parlais de MySQL.
--
Yvon