Forum Linux.débutant Ouvrir port 3306

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
13
juil.
2016

Bonjour,

Dans le cadre d'une mise en place d'un système de monitoring avec SNMP, j'aimerais pouvoir faire en sorte que le port 3306 (MySQL) soit en LISTEN.

En effet, j'ai pu monitoré plusieurs services mais impossible pour le port 3306.

Pourriez-vous m'aider ?

Merci !

  • # A l'écoute des autres

    Posté par  . Évalué à 1.

    Bonjour,

    Pour avoir un port en LISTEN, il faut qu'il y ait une application qui écoute sur ce port.
    Si MySQL est lancé et écoute sur TCP/3306 alors la commande netstat -an devrait afficher
    en autres ce port en LISTEN. Si rien n'est lancé, c'est normal que le port ne soit pas ouvert.

    • [^] # Re: A l'écoute des autres

      Posté par  . Évalué à 1.

      Merci pour ta réponse.

      Peut-on faire en sorte qu'un port soit en LISTEN sans qu'il y ai une application qui écoute ? C'est juste pour tester le port 3306 (sans installer maintenant MySQL).

      • [^] # Re: A l'écoute des autres

        Posté par  . Évalué à -2.

        non

      • [^] # Re: A l'écoute des autres

        Posté par  . Évalué à 6. Dernière modification le 13 juillet 2016 à 12:06.

        tu ne peux pas mettre un port en listen sans que personne n'écoute, mais tu peux utiliser netcat qui écoutera à la place de mysql sur un port donné (peut permettre de teste l'ouverture de flux réseau par exemple) :

        Pour info, netcat peut fonctionner de deux façons : à l'écoute sur un port donné, et en mode "envoi de données sur un port distant (il peut même faire plus, mais ce n'est pas l'objet)

        Sur ton serveur devant écouter (supposons qu'il s'appelle alfred) tu mets netcat à l'écoute sur le port mysql. Tu tapes

        nc -l 3306

        nc va se mettre à l'écoute sur le port 3306 de ta machine et afficher sur la sortie standard tout ce qu'il recevra sur ce port.

        Ensuite sur une machine distante (admettons qu'elle s'appelle betty), tu lances netcat pour qu'il envoie ses donées sur le port mysql de ta machine distante :

        nc alfred 3306

        netcat va envoyer tout ce qui va être saisi sur Betty vers la machine distante Alfred sur le port 3306. Lorsque tu iras voir la fenetre que tu as ouverte sur Alfred, tu retrouveras tout ce que tu as saisi sur Betty.

        • [^] # Re: A l'écoute des autres

          Posté par  . Évalué à 1.

          Nice ! Merci ! ça m'avance énormement ! :)

          Mais j'ai toujours un soucis. En effet, la connexion se fait bien avec Netcat entre les deux machines (voir screen ci-dessous)

          Client
          Client

          Serveur
          Serveur

          Le soucis c'est que, depuis une autre session du client, quand je fais un netstat -atn | grep LISTEN le port 3306 ne s'affiche pas. Ce n'est pas normal puisqu'en parallele il est utilisé par netcat.

          netstat

          Voici ce que me renvois ma commande SNMP sur le serveur:
          SNMP

          • [^] # Re: A l'écoute des autres

            Posté par  . Évalué à 3.

            Voici ce que me renvois ma commande SNMP sur le serveur:

            sauf que sur l'image que tu nous envoies ce n'est pas du SNMP mais un check_mysql
            qui a donc besoin d'avoir un vrai mysql en face, puisqu'il va se connecter au port 3306, donner un login/mot de passe, etc…

            et donc dans ton cas, il faut configurer mysql pour lui dire d'ecouter sur autre chose que localhost (127.0.0.1)

            à une epoque c'etait controlé par 2 options :
            - bind-address: IP address to bind to.
            - skip-networking : Don’t listen for TCP/IP connections at all. All interaction with mysqld must be made via Unix sockets.

            il fallait commenter le skip-networking qui empechait l'usage en reseau,
            et eventuellement (si plusieurs interfaces possibles et plusieurs IPs) forcer le bind-address sur autre chose que 127.0.0.1
            s'il est vide, bind-address prend 0.0.0.0 (toutes les IPs, toutes les interfaces du serveur).

            evidemment il faut ensuite que l'utilisateur que tu utilises pour ton check_mysql soit autorisé à se connecter depuis l'IP du post qui fait le check, mais ca c'est dans la base de données "mysql" tables user, db et host que tu regles cela.

          • [^] # Re: A l'écoute des autres

            Posté par  . Évalué à 2.

            Tu écoutes sur le client  ??
            C'est le serveur qui est censé écouter.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.