avviare il server MySQL dalla riga di comando su Mac OS Lion


162

Ho installato mySQL per il mio Mac. Oltre ad avviare il server SQL con lo strumento mySQL.prefPane installato in Preferenze di Sistema, voglio conoscere le istruzioni per iniziare dalla riga di comando. Faccio come segue:

Dopo

su root

Avvio il server mySQL dalla riga di comando, produce errore come di seguito:

sh-3.2 # / usr / local / mysql / bin / mysqld

111028 16:57:43 [Avvertenza] L'impostazione di lower_case_table_names = 2 perché il file system per /usr/local/mysql-5.5.17-osx10.6-x86_64/data/ non fa distinzione tra maiuscole e minuscole

111028 16:57:43 [ERRORE] Errore irreversibile: leggere la sezione "Sicurezza" del manuale per scoprire come eseguire mysqld come root!

111028 16:57:43 [ERRORE] Interruzione

111028 16:57:43 [Nota] / usr / local / mysql / bin / mysqld: spegnimento completato

Mi aiuti per favore!

MODIFICARE:

Il motivo è qui: http://dev.mysql.com/doc/refman/5.5/en/changing-mysql-user.html

Una soluzione è descritta nella risposta di xdazz di seguito.


Vedi la mia modifica alla domanda per la spiegazione
vietstone,

1
Su macOS, usa mdfind mysql.serverper vedere dove si trova il tuo eseguibile del server
Benjamin Crouzier,

Risposte:


187

Provare /usr/local/mysql/bin/mysqld_safe

Esempio:

shell> sudo /usr/local/mysql/bin/mysqld_safe
(Enter your password, if necessary)
(Press Control-Z)
shell> bg
(Press Control-D or enter "exit" to exit the shell)

Puoi anche aggiungerli agli script di avvio di bash:

export MYSQL_HOME=/usr/local/mysql
alias start_mysql='sudo $MYSQL_HOME/bin/mysqld_safe &'
alias stop_mysql='sudo $MYSQL_HOME/bin/mysqladmin shutdown'

1
Funziona. Ma non riesco ad uscire dal puntatore dall'esecuzione del comando. Come fermarlo quando la finestra Terminale è in esecuzione.
vietstone,

11
Nota che questa risposta non si applica se hai installato mysql con Homebrew.
cbmanica,

Per me ha finito per essere solo "mysqld <action>", il file si trova in / usr / local / mysql / bin / mysqld
crobicha,

233

Semplicemente:

mysql.server start

mysql.server stop

mysql.server restart


1
grazie mille! Ho letto tante cose, anche i documenti - e nessuno di questi funzionava per me, ma è stato così !!!
HolyMoly,

6
questo è quello che ho ottenuto per questo:. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXX.pid).
nyxee il

@nyxee Potrebbe essere necessario eseguirlo sudo!
anuveyatsu,

Mucca sacra. Grazie!
Karl Johan Vallner,

Molto meglio e semplice. Grazie
Prabhakar Undurthi,

135

Mi piacciono anche gli alias ... tuttavia, ho avuto problemi con MySQLCOM per iniziare ... fallisce in silenzio ... La mia soluzione è simile agli altri ... ~ / .bash_aliases

alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop' 

Altre risposte non riuscite su OSX 10.7.5 con l'ultima installazione di MySQL. Questo ha funzionato, grazie!
Irongaze.com

@ Irongaze.com Sono contento di poterti aiutare.
Eddie B

Grazie!! Volevo avviare mysql ed essere in grado di chiudere anche il terminale e questo ha funzionato. Qual è la differenza tra questo modo di avviarlo e il modo mysqld_safe?
oli206

1
Da mysqld_safe vs mysql.server Prima che mysql.server avvii il server, cambia posizione nella directory di installazione di MySQL, quindi richiama mysqld_safe.
Eddie B,

Risposta eccellente! Semplice ed efficace
Starkers,

84

Come afferma questo utile articolo: Su OS X per avviare / arrestare MySQL dalla riga di comando:

sudo /usr/local/mysql/support-files/mysql.server start 
sudo /usr/local/mysql/support-files/mysql.server stop 

Su Linux start / stop dalla riga di comando:

/etc/init.d/mysqld start 
/etc/init.d/mysqld stop 
/etc/init.d/mysqld restart 

Alcune versioni di Linux offrono anche il comando di servizio

# service mysqld start 
# service mysqld stop 
# service mysqld restart

o

 # service mysql start 
 # service mysql stop 
 # service mysql restart 

nessun tale file o directory da/usr/local/mysql/support-files/mysql.server stop
nyxee il

71

Se lo hai installato con homebrew, il binario sarà da qualche parte simile

/usr/local/Cellar/mysql/5.6.10/bin/mysqld

il che significa che puoi iniziare con

/usr/local/Cellar/mysql/5.6.10/support-files/mysql.server start

e basta con

/usr/local/Cellar/mysql/5.6.10/support-files/mysql.server stop

Modifica: come menzionato Jacob Raccuia, assicurati di inserire la versione appropriata di MySQL nel percorso.


1
si!!!!!! non mi ero reso conto di averlo installato in questo modo! assicurati di inserire la versione appropriata di mysql nel percorso
Jacob Raccuia,

31
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

crea un alias in .bash_profile

alias start_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM start"
alias stop_mysql="/Library/StartupItems/MySQLCOM/MySQLCOM stop"

e se si sta tentando di eseguire come root utilizzare la modalità provvisoria

sudo ./bin/mysqld_safe

se si verificano ancora problemi di avvio, si consiglia di leggere: mysql5.58 server di avvio in mac os 10.6.5


27

forse il tuo server mysql non è stato avviato

Puoi provare

/usr/local/bin/mysql.server start


10

Per me questa soluzione ha funzionato su Mac Sierra OS:

sudo /usr/local/bin/mysql.server start
Starting MySQL
SUCCESS!

9

Se è installato con homebrew, prova a digitare mysql.server nel terminale e dovrebbe essere così. AFAIK esso eseguibile sarà in /usr/local/bin/mysql.server.

In caso contrario, è sempre possibile eseguire seguendo "individuare mysql.server" che ti dirà dove trovare tale file.


5

Se hai installato MySQL tramite Homebrew questi comandi ti aiuteranno:

# For starting
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

# For stoping
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

4
Il LauchAgent per mysql non era presente per impostazione predefinita. La corsa brew info mysql(da cui ho imparato da: stackoverflow.com/a/4622474/459863 ) ha dichiarato che per prima cosa dovevo correre ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents. Dopo ciò, ha funzionato.
Wolfram Arnold,

5

Il mio MySQL è installato tramite homebrew su OS X ElCaptain. Ciò che risolto stava funzionando

brew doctor

  • che mi ha suggerito di correre

sudo chown -R $(whoami):admin /usr/local

Poi:

brew update
mysql.server start

mysql ora è in esecuzione


Non so perché qualcuno abbia effettuato il downgrade. Questo mi è successo durante un aggiornamento della birra. L'esecuzione di brew doctor e quindi seguendo le istruzioni per aggiungere un percorso particolare al mio profilo bash risolto i problemi. Grazie per il suggerimento
Nostalg.io,

1

Errore di avvio del server MySql "Il server si è chiuso senza aggiornare il file PID"

se hai installato mysql da homebrew

chiudi il server mysql dalle preferenze del mac

ps ax | grep mysql

#kill all the mysql process running
sudo kill -9 pid

which mysql
/usr/local/bin/mysql
Admins-MacBook-Pro:bin username$ sudo mysql.server start

Starting MySQL
. SUCCESS! 

Admins-MacBook-Pro:bin username$ which mysql

/usr/local/bin/mysql

Admins-MacBook-Pro:bin username$ ps ax | grep mysql

54916 s005  S      0:00.02 /bin/sh 
/usr/local/Cellar/mysql@5.7/5.7.27_1/bin/mysqld_safe --datadir=/usr/local/var/mysql --pid-file=/usr/local/var/mysql/Admins-MacBook-Pro.local.pid
55012 s005  S      0:00.40 /usr/local/Cellar/mysql@5.7/5.7.27_1/bin/mysqld --basedir=/usr/local/Cellar/mysql@5.7/5.7.27_1 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/mysql@5.7/5.7.27_1/lib/plugin --user=mysql --log-error=Admins-MacBook-Pro.local.err --pid-file=/usr/local/var/mysql/Admins-MacBook-Pro.local.pid
55081 s005  S+     0:00.00 grep mysql

0
111028 16:57:43 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

Hai impostato una password di root per l'installazione di mysql? Questo è diverso dalla password di root sudo. Provare/usr/local/mysql/bin/mysql_secure_installation


Quando ho eseguito la riga sopra, produce: Impossibile trovare un client 'mysql' in PERCORSO o ./bin
vietstone
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.