MySQL se lie au port 3307 et non au port 3306


9

J'utilise OS X Yosemite 10.10.5 sur un Mac Mini fin 2014. C'est mon serveur de développement. Je viens d'installer MySQL sur cette machine: 'mysql --version' signale que la version est 'mysql Ver 14.14 Distrib 5.6.26, pour osx10.8 (x86_64) utilisant le wrapper EditLine'. J'ai définitivement téléchargé et installé la version "OS X 10.9" cependant (je viens de revérifier le fichier DMG).

Quoi qu'il en soit, j'essaie de faire écouter le produit sur le port 3306 comme d'habitude et j'ai du mal à le faire. Par défaut, il semble être lié au port 3307, même lorsque my.cnf ressemble à ceci:

[mysqld]
bind-address = 0.0.0.0
port         = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

(la dernière ligne était déjà dans la ligne par défaut dans / usr / local / mysql /)

en regardant le processus en cours, je peux voir que la ligne de commande (ps ax | grep mysql) a été donnée comme 3307:

40958   ??  Ss     0:00.38 /usr/local/mysql/bin/mysqld \\
--user=_mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data \\
--plugin-dir=/usr/local/mysql/lib/plugin \\
--log-error=/usr/local/mysql/data/mysqld.local.err \\
--pid-file=/usr/local/mysql/data/mysqld.local.pid --port=3307

(Je le démarre et l'arrête actuellement avec le panneau de préférences système MySQL pas directement hors de la ligne de commande)

Pour y accéder depuis le client, je dois explicitement définir le port sur la ligne de commande

$ mysql -u smcphee -h 192.168.x.x -P 3307 -p

Pour les coups de pied, j'ai édité le my.cnf pour spécifier un autre port aléatoire. Le serveur est toujours lié au port 3307. Je ne trouve aucun autre fichier my.cnf sur le disque qui puisse le remplacer.

Qu'est-ce qui se passe ici?

Réponses:


10

Pouvez-vous essayer de vérifier si le fichier suivant existe sur votre machine?

/Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist

Vérifiez si le port est défini sur 3307, si cela est vrai, passez à 3306 et redémarrez le service.


Oui, oui. Et il contient cette ligne: <string> --port = 3307 </string> Pourquoi ferait-il cela par défaut?
scot

1
Je suppose que cela se produit parce que ce fichier démarre le service, je ne suis pas sûr mais peut-être que si vous supprimez la ligne, le service prend le port sur le my.cnffichier.
Victor Marroquin

Oh oui bien sûr. par "pourquoi", je voulais dire pourquoi installerait-il le fichier avec une telle valeur plutôt que la valeur par défaut attendue et raisonnable. (Je suppose bien sûr que le package d'installation a installé le démon de lancement ... parce que quoi d'autre aurait-il?)
scot

1

Cela doit avoir quelque chose à voir avec le panneau de préférences système MySQL et la façon dont il démarre le serveur. J'ai désactivé et supprimé le panneau de préférences. Lorsque je démarre / arrête le serveur en utilisant 'mysqld_safe' sur la ligne de commande, il utilise le port spécifié dans my.cnf.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.