MySQL si collega alla porta 3307 non alla porta 3306


9

Sto eseguendo OS X Yosemite 10.10.5 su un Mac Mini di fine 2014. È il mio server di sviluppo. Ho appena installato MySQL su questa macchina: "mysql --version" riporta che la versione è "mysql Ver 14.14 Distrib 5.6.26, per osx10.8 (x86_64) usando il wrapper EditLine". Ho sicuramente scaricato e installato la versione "OS X 10.9" (ho appena ricontrollato il file DMG).

In ogni caso sto provando a far ascoltare il prodotto sulla porta 3306 come di consueto e ho qualche difficoltà a farlo. Per impostazione predefinita, sembra essere associato alla porta 3307, anche quando my.cnf è simile al seguente:

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

(l'ultima riga era già in quella predefinita in / usr / local / mysql /)

guardando il processo in esecuzione vedo che la riga di comando (ps ax | grep mysql) è stata data come 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

(Sto iniziando e lo sto arrestando attualmente con il pannello delle preferenze del sistema MySQL non direttamente dalla riga di comando)

Per accedervi dal client devo impostare esplicitamente la porta sulla riga di comando

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

Per i calci, ho modificato my.cnf per specificare qualche altra porta casuale. Il server è ancora associato alla porta 3307. Non riesco a trovare nessun altro my.cnf sul disco da nessuna parte che possa sovrascriverlo.

Cosa sta succedendo qui?

Risposte:


10

Puoi provare a verificare se il seguente file esiste nel tuo computer?

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

Controlla se la porta è definita su 3307, se questo è vero cambia in 3306 e riavvia il servizio.


Sì, sì. E ha questa linea: <string> --port = 3307 </string> Perché dovrebbe farlo per impostazione predefinita?
Scott

1
Immagino che ciò accada perché questo file avvia il servizio, non ne sono sicuro, ma forse se elimini la linea, il servizio prende la porta sul my.cnffile.
Victor Marroquin,

Oh si, certamente. per "why" intendevo perché avrebbe dovuto installare il file con un valore simile piuttosto che il valore predefinito previsto, ragionevole. (Presumo ovviamente che il pacchetto di installazione abbia installato il demone di lancio ... perché cos'altro avrebbe?)
scoto

1

Questo deve avere qualcosa a che fare con il pannello delle preferenze del sistema MySQL e il modo in cui avvia il server. Ho disabilitato e rimosso il pannello delle preferenze. Quando avvio / interrompo il server utilizzando "mysqld_safe" sulla riga di comando, utilizza la porta specificata in my.cnf.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.