#1 Le 15/11/2007, à 00:52
- v4np13
Changer le port de mysql
Bonjour,
J'ai installé un serveur LAMP sur ma machine, mais j'aurai besoin de changer le port de MySQL (3306) en 8080. C'est pour un projet de programmation réseau, j'aurai besoin d'une base de données pour stocker en cas de pépins. En testant mon application, je me suis rendu compte que le port sortant 3306 était fermé à l'unif. Comme solution, je peux utiliser un des deux ports ouverts (80 et 8080).
Pour ce faire, j'ai été modifier dans le fichier my.cnf
[client]
port = 8080 #3306
socket = /var/run/mysqld/mysqld.sock
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 8080 #3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
Et j'ai paramétré le routeur pour qu'il redirige le port 8080 vers la machine en question mais ça ne fonctionne pas...
Ai-je oublié une étape?
Merci par avance
PS1: La connexion marchait avec le port 3306 à partir de réseaux "ouverts"
PS2: j'ai essayé en relancant Mysql, en rebootant,...
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#2 Le 15/11/2007, à 10:52
- TobyKaos
Re : Changer le port de mysql
Tu as peut être déjà une application utilisant le port 8080. du coup ca bloque peut être?
Hors ligne
#3 Le 15/11/2007, à 15:55
- zerros
Re : Changer le port de mysql
c'est une connexion distante ou bien le script de connexion à la bdd est sur le même serveur que le serveur MySQL ?
Hors ligne
#4 Le 15/11/2007, à 16:10
- v4np13
Re : Changer le port de mysql
La base de données est sur ma machine (à mon domicile) et je dois pouvoir l'utiliser à partir de l'université.
Je fais la connexion à la base de données à partir de mes programmes en Java, donc pas de srcipts sur la machine interne.
Comment savoir si le port 8080 de ma machine est utilisé? Il me semble que le port 8080 est le port par défaut de la cache web.
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#5 Le 15/11/2007, à 16:25
- zerros
Re : Changer le port de mysql
alors dans port tu mets :
port = 8080
et dans bind-adress :
bind-address = 0.0.0.0
tu ouvres le port sur ton routeur et tu reload mysql :
/etc/init.d/mysql restart
et tu testes depuis ton poste avec un telnet :
telnet ippubliquedetonserveur 8080
il va de soit que normalement, le 8080 n'est pas déjà utilisé pour une autre application (mais si tu n'as fait aucun changement sur le serveur apache2, alors il devrait être dispo).
Hors ligne
#6 Le 15/11/2007, à 16:31
- v4np13
Re : Changer le port de mysql
Pour le bind-adress, je l'avais déjà mis comme ça.
Autrement, voici ce qu'il me donne:
vanpie@vanpie-desktop:~$ sudo /etc/init.d/mysql restart
[sudo] password for vanpie:
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.
vanpie@vanpie-desktop:~$ telnet mondyndns.org 8080
Trying 192.168.0.4...
Connected to mondyndns.org.
Escape character is '^]'.
H
5.0.45-Debian_1ubuntu3-log:m8m='L+,/KjTGEeO9n@4Connection closed by foreign host.
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#7 Le 15/11/2007, à 16:47
- zerros
Re : Changer le port de mysql
ca a l'air de fonctionner a moins que ce ne soit pas ton mysql qui repond :s
en local sur to serveur test la connexion a mysql :
mysql -u root -p -h localhost -P 8080
si tu rentres bien c que coté serveur tout est OK. Si après d'où t est tu ny arrives pas,
alors vérifie si ton routeur n'écoute pas déjà sur le 8080 (pour sa configuration web distante par exemple).
Hors ligne
#8 Le 15/11/2007, à 17:14
- v4np13
Re : Changer le port de mysql
La connection depuis la même machine fonctionne bien, mais depuis une machine distante, ça plante...:/
J'avoue que j'ai du mal à voir o๠ça coince...
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#9 Le 15/11/2007, à 17:31
- zerros
Re : Changer le port de mysql
Vérifie que ton routeur n'utilise pas déjà le port 8080 pour autre chose. C'est souvent le cas pour configurer le routeur par interface web.
Sinon tu pourras essayer ce soir chez toi de t y connecter depuis une autre machine de ton réseau local. si ca fonctionne c'est que c'est bien ton routeur
Dernière modification par zerros (Le 15/11/2007, à 17:32)
Hors ligne
#10 Le 15/11/2007, à 20:36
- v4np13
Re : Changer le port de mysql
Je viens d'essayer en local, ça ne marche pas non plus ailleurs que sur la machine o๠se trouve les bases de données.
Pareil avec un ordinateur distant, ça ne veut pas se connecter.
J'ai l'impression qu'on oublie un fichier,... dans la configuration
PS: je vois que le pc en question est une DMZ sur le routeur, serait-ce ça qui fait foirer les connections?
Dernière modification par v4np13 (Le 15/11/2007, à 21:49)
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#11 Le 16/11/2007, à 00:01
- termi
Re : Changer le port de mysql
oups sur dmz sa veut dire que les port de la machine sont tous ouvert pour le routeur:| mais je dirais comme zerro bcp de routeur utulise le port 8080 donc je te sugere de configurer ton routeur et de desactiver la maintenance du routeur par le 8080 jimagine que ton routeur est un d-link vue la plage ip et si je me trompe les d-link utulise le port 8080
Hors ligne
#12 Le 16/11/2007, à 00:03
- termi
Re : Changer le port de mysql
as oui et desactive le dmz cest pas tres secure le dmz sert a laisser passer sur toute les port vers la machine en question
Hors ligne
#13 Le 16/11/2007, à 00:11
- v4np13
Re : Changer le port de mysql
Je viens de désactiver le DMZ, mais le problème est toujours là.
Mon routeur n'est pas un D-Link, il s'agit d'un TrendNet TEW-435BRM. Je vais me renseigner un peu plus sur ce routeur.
PS: comment d'activer cette maintenance par le port 8080? je n'ai rien trouvé pour ça.
Dernière modification par v4np13 (Le 16/11/2007, à 00:12)
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#14 Le 16/11/2007, à 00:47
- zerros
Re : Changer le port de mysql
humm .... si d'un pc local à ton serveur dans ton réseau local, la connexion ne fonctionne pas, c'est que tu as un souci quelque part.
Le fait que la connexion fonctionne en local montre une chose c'est que le mysql ecoute bien sur le port 8080.
Maintenant il y a une chose à laquelle je n'ai pas pensé. Tu dois IMPERATIVEMENT rajouter dans la bdd mysql et dans la table user une ligne avec en HOST l'ip ou le domaine depuis lequel tu te connectes (par exemple 192.168.0.7 pour le local, et pour le distant tu mets l'ip distante).
Si tu souhaites ouvrir les accès à plusieurs réseaux, tu insère autant de host que tu as de réseaux DIFFERENTS. Si les connexions viennent d'un même réseau mais que le dernier chiffre uniquement change, tu peux mettre 192.168.0.% par exemlple ou bien encore 192.168.%.
Si tu veux vraiment pas t'embêter tu rajoutes juste un enregistrement avec comme host %.
J'ai oublié de te dire que tu dois mettre le username et le mme password (encrypté avec la fonction PASSWORD de mysql) que le username que tu utilises en local. Si tu utilises root, alors tu fais la même insertion que celle déjà présente pour localhost (et/ou pour 127.0.0.1) sauf que tu vas juste changé le host.
Une fois les modif effectués, tu fais un FLUSH PRIVILEGES; pour prendre en compte tes modifs et tu retestes en local. Ca devrait fonctionner. Si ce n'est pas le cas c'est que tu as encore un problème ailleurs ou que tu auras mal fait tes nouvelles insertions.
N'hésite pas si tu as besoin d'aide
Hors ligne
#15 Le 16/11/2007, à 01:11
- v4np13
Re : Changer le port de mysql
Merci beaucoup pour ces précisions, maintenant la commande suivante fonctionne en local, reste à voir si ça fonctionne en distant:
mysql -u root -p -h mondyndns.org -P 8080
Je testerai ça demain à l'unif en espérant que ça fonctionne (sur les PC locaux, j'ai rajouté une ligne dans /etc/hosts qui défini mondyndns.org sur l'IP réseau).
Fichue sécurité... ils ne peuvent pas faire comme tout le monde?!
Fin, je vous tiens au courant.
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#16 Le 16/11/2007, à 23:42
- v4np13
Re : Changer le port de mysql
Me revoici, la connexion n'a pas fonctionné à distance.
Mais en insistant auprès des informaticiens de l'université, ils devraient ouvrir le port 3306 pour qu'on puisse continuer. J'ai reconfiguré comme avant et je réessaye lundi en croisant les doigts...
Je me demandais, que risquent-ils à ouvir ce port? A part se connecter à MySQL, on ne devrait rien pouvoir faire d'autre, si?
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#17 Le 17/11/2007, à 00:01
- zerros
Re : Changer le port de mysql
Ca me parait gros là . J'ai fais le test avec mysql sur un port 8080 et que ce soit en local (dans mon reseau local) ou a distance (depuis mon boulot), ca fonctionne niquel.
Est-u certain d'avoir correctement insérer l'ip PUBLIQUE de l'université ?
Active les log dans my.cnf et regarde les logs quand tu essai de te connecter à Mysql.
Si tu ne vois rien arriver c'est que c'est ton routeur qui ne laisse pas passer les requetes 8080.
Hors ligne
#18 Le 17/11/2007, à 00:05
- v4np13
Re : Changer le port de mysql
Est-u certain d'avoir correctement insérer l'ip PUBLIQUE de l'université ?
J'ai l'impression qu'on s'est mal compris? La base de données n'est pas à l'université, elle est chez moi et j'essaye d'y accéder à partir de l'université.
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#19 Le 17/11/2007, à 00:38
- zerros
Re : Changer le port de mysql
Oui, c'est bien c que j'avais compris.
Dans la table user et db sur ton serveur MySQL chez toi, tu dois définir l'ip du client (donc en l'occurence il s'agit de l'ip publique de l'unif puisque tu essaies de te connecter depuis là bas).
je te montre un exemple :
pour l'utilisateur root en local au serveur dans la table user :
localhost root *26F194379EFFC1CD1878FE8D8FFABD3EC64061 ... (je te passes tous les droits derrière)
Maintenant si je veux adresser des requêtes sur mon serveur MySQL depuis un autre PC de mon réseau (192.168.1.0 par exemple). Disons que le PC en question à l'IP 192.168.1.5 :
192.168.1.5 root *26F194379EFFC1CD1878FE8D8FFABD3EC64061 ... (je te passes tous les droits derrière)
Donc de la même façon, disons que je me trouve à ton université, alors il me faut l'ip publique de l'université pour la rentrer dans la bdd (pour la connaitre soit tu regardes les connexions établies sur ton serveur ou soit tu vas sur une url du style http://www.interpc.fr/ip.asp :
212.56.8.85 root *26F194379EFFC1CD1878FE8D8FFABD3EC64061 ... (je te passes tous les droits derrière)
Si tu utilises le compte root pour te connecter, alors tu n'as pas besoin de rajouter une entrée dans la table db. Si ce n'est pas le cas alors il faudra y rajouter une entrée avec en host les ip précédemment rajoutés dans la table user, le nom de la bdd à laquelle l'utilisateur à droit de se connecter et le nom de l'utilisateur que tu vas utiliser (il doit avoir été créé dans la table user avant sinon ca ne fonctionnera pas).
Tu comprends mieux le fonctionnement ?
Hors ligne
#20 Le 17/11/2007, à 00:46
- v4np13
Re : Changer le port de mysql
J'avais fait avec le % pour toutes les ip dans user (comme tu me l'avais dit), donc ça aurait du fonctionner, mais non.
Je viens de vérifier dans la table db, également % pour le host.
Dernière modification par v4np13 (Le 17/11/2007, à 00:46)
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#21 Le 17/11/2007, à 00:50
- zerros
Re : Changer le port de mysql
ok, good. alors c ton routeur qui bloque Alors soit tu arrives à le configurer en désactivant le port 8080 qui est actuellement activé dessus, ou soit tu attends patiemment l'ouverture le port 3306
Au fait, quand tu tapes http://ipdLOCALetonrouteur:8080/ en local, ca te donne quelque chose ?
Et si tu tapes http://ipdPUBLIQUEdetaconnexioninternet:8080/ depuis l'extérieur, ca te renvoi quelque chose ?
Hors ligne
#22 Le 17/11/2007, à 01:00
- v4np13
Re : Changer le port de mysql
http://192.168.0.1:8080/ depuis l'intérieur: Unable to connect (j'ai remis le port de mysql à 3306)
Pour la 2eme demande, je ne saurai pas te dire ça maintenant.
Je pense que je vais voir ce que ça va donner avec l'ouverture du port 3306 (je saurai lundi si ça marche). Pour l'instant, ça fonctionne pour ceux qui s'y connectent depuis un réseau étranger (faut bien bosser et comme je ne suis pas le seul sur le projet).
Mais si tu as une piste pour le port 8080, je serai intéressé de savoir pourquoi ça n'a pas fonctionné.:)
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#23 Le 17/11/2007, à 01:05
- zerros
Re : Changer le port de mysql
La seule piste que je vois, c'est que ton routeur utilise déjà le port 8080 pour un autre service (certainement de la configuration distante du routeur). d'ailleurs ton premier telnet depuis l'extérieur sur le port 8080 permet de dire justement que ce port est déjà utilisé, et pour autre chose que ton mysql :s
Essai de voir la doc de ton routeur :d
Mais g bien l'impression que t'es bien arrivé jusqu'à ton serveur :
vanpie@vanpie-desktop:~$ telnet mondyndns.org 8080
Trying 192.168.0.4...
Connected to mondyndns.org.
Escape character is '^]'.
H
5.0.45-Debian_1ubuntu3-log:m8m='L+,/KjTGEeO9n@4Connection closed by foreign host.
Mais un truc simple pour vérifier que les requêtes sur le port 8080 arrivent bien jusqu'au serveur : TCPDUMP EST TON AMI lol :$
Et si c'est le cas c'est toujours bien d'activer les logs de MySQL pour vérifier que MySQL répond bien aux tentatives de connexion (quitte à ce qu'il les refuse mais au moins tu auras tester la connexion).
Dernière modification par zerros (Le 17/11/2007, à 01:12)
Hors ligne
#24 Le 17/11/2007, à 01:15
- v4np13
Re : Changer le port de mysql
Lors du premier telnet, j'avais déjà changé le port en 8080, donc c'est possible que ce soit mysql et pas le routeur qui soit la cause de ce retour.
Pour la doc, je l'ai lue, relue, rien concernant ce port n'est signalé,... J'ai aussi fait la mise à jour du firmware, ce qui n'a rien changé non plus.
http://www.vanpie.be/
BOINC: compute for science (Alliance francophone)
Hors ligne
#25 Le 17/11/2007, à 01:18
- zerros
Re : Changer le port de mysql
Donc c'était bien MySQL qui avait rejeté la connexion ?! Donc les requêtes passaient bien jusqu'au serveur.
Active les logs de MySQL. La cause de ce rejet y sera certainement logué Je suis désolé, mais je fatigue un peu et je commence à m'endormir sur mon clavier. alors je vais te dire à demain lol
Hors ligne