2014-12-05 35 views
5

MacOS 10.10, macports aggiornati. Voglio ottenere mysql 5.6 sulla porta 3306.Installazione di MySQL 5.6 con Macports

1) Installazione

port install mysql56-server mysql56 

installa [email protected]_0, dopo che

which mysql 

o

which mysql56 

non restituisce nulla

Quindi la prima domanda è dove si trova il client mysql?

2) Configurazione

script di installazione suggerisce di fare

sudo -u _mysql /opt/local/lib/mysql56/bin/mysql_install_db 

poi

/opt/local/lib/mysql56/bin/mysqladmin -u root password 'new-password' 

che chiede per l'esecuzione di server e comincio facendo

cd /opt/local ; /opt/local/lib/mysql56/bin/mysqld_safe & 

poi mysqladmin lamenta presa e io commento --skip-networking in /opt/local/etc/mysql56/macports-default.cnf e dopo che il comando va bene. poi

/opt/local/lib/mysql56/bin/mysqladmin -u root -h bp.local password 'new-password' 

che restituisce

error: 'Host '10.0.1.9' is not allowed to connect to this MySQL server' 

io davvero non so cosa fare qui senza client mysql. E io sono un po 'bloccato. Qualche suggerimento?

risposta

13

MacPorts installa MySQL e le sue derivate in modo che non siano in conflitto tra loro e possano essere installate contemporaneamente. Ciò include mettere il binario mysql in percorsi non standard. È possibile individuare il file binario utilizzando port contents mysql56 | grep -E '/s?bin/'. MacPorts è inoltre dotato di un meccanismo di selezione che crea collegamenti simbolici per la tua convenienza in /opt/local/bin. Per rendere MySQL 5.6 il tuo predefinito, esegui sudo port select --set mysql mysql56.

Per avviare il server, è possibile utilizzare le funzioni di controllo demone macports' (che sono un frontend per launchd): sudo port load mysql56-server inizierà il server e assicurarsi che sia in esecuzione dopo un riavvio, sudo port unload mysql56-server annullerà che e arrestare il server.

--skip-networking è l'impostazione predefinita che consente di eseguire più versioni di MySQL affiancate. Vedere port notes mysql56 per ulteriori informazioni.

È possibile connettersi a MySQL di MacPorts utilizzando un socket unix, anche se non ricordo il suo percorso dalla cima della mia testa. Sono sicuro che li abbia anche http://trac.macports.org/wiki/howto/MAMP.Per connettersi al server locale, è necessario utilizzare localhost o 127.0.0.1 anziché bp.local, che apparentemente si risolve in un indirizzo IP privato e quindi passa attraverso lo stack IP del sistema operativo, piuttosto che attraverso l'interfaccia di loopback.

+0

Cercavo 'porta select' ma con un solo trattino :(. E mi pare di capire è necessario installare' mysql_select' per essere in grado di usarlo. @neverpanic se si potrebbe aggiungere i comandi per avviare MySQL senza aggiungere all'avvio e per il riavvio questa tua risposta sarebbe perfetta – coviex

+0

'mysql56' dipende da' mysql_select', quindi avrai sempre installato quando hai installato 'mysql56' (a meno che tu non abbia forzato MacPorts a ignorare la dipendenza) Sfortunatamente, launchd mantiene sempre lo stato del daemon attraverso i riavvii AFAIK, quindi non c'è modo di "avviare fino al prossimo riavvio" con i file di avvio, ma suppongo che il tuo comando di avvio funzionerebbe per quel caso, ma assicurati di usare lo stesso ambiente e utente come fa il plist, però. – neverpanic

+0

Puoi f Ind il percorso del socket eseguendo '/ opt/local/lib/mysql56/bin/mysqladmin -u root -p variabili' e cercando la riga' socket'. Per me, era: '/ opt/local/var/run/mysql56/mysqld.sock'. – ilpssun

Problemi correlati