iniciar el servidor MySQL desde la línea de comandos en Mac OS Lion

162

Instalé mySQL para mi Mac. Además de iniciar el servidor SQL con la herramienta mySQL.prefPane instalada en System Preference, quiero saber las instrucciones para comenzar desde la línea de comandos. Hago lo siguiente:

Después

su raíz

Comienzo el servidor mySQL por línea de comandos, produce el error de la siguiente manera:

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

111028 16:57:43 [Advertencia] Establecer lower_case_table_names = 2 porque el sistema de archivos para /usr/local/mysql-5.5.17-osx10.6-x86_64/data/ no distingue entre mayúsculas y minúsculas

111028 16:57:43 [ERROR] Error fatal: ¡Lea la sección "Seguridad" del manual para descubrir cómo ejecutar mysqld como root!

111028 16:57:43 [ERROR] Abortar

111028 16:57:43 [Nota] / usr / local / mysql / bin / mysqld: apagado completo

¡Por favor, ayúdame!

EDITAR:

La razón está aquí: http://dev.mysql.com/doc/refman/5.5/en/changing-mysql-user.html

Una solución se describe en la respuesta de xdazz a continuación.

vietstone
fuente
Vea mi edición en la pregunta para la explicación
vietstone
1
En macOS, use mdfind mysql.serverpara ver dónde está el ejecutable de su servidor
Benjamin Crouzier

Respuestas:

187

Tratar /usr/local/mysql/bin/mysqld_safe

Ejemplo:

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)

También puede agregar estos a sus scripts de inicio de 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'
xdazz
fuente
1
Funciona. Pero no puedo salir del puntero de la ejecución del comando. Cómo detenerlo cuando la ventana Terminal está funcionando.
vietstone
11
Tenga en cuenta que esta respuesta no se aplica si instaló mysql con Homebrew.
cbmanica
Para mí terminó siendo solo "mysqld <acción>", el archivo se encuentra en / usr / local / mysql / bin / mysqld
crobicha
232

Simplemente:

mysql.server start

mysql.server stop

mysql.server restart

usuario2792249
fuente
1
¡Muchas gracias! Leí muchas cosas, incluso los documentos, y ninguno de ellos me funcionó, ¡pero esto lo hizo!
HolyMoly
66
esto es lo que obtuve para este:. ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXX.pid).
nyxee
@nyxee ¡Es posible que tengas que ejecutarlo sudo!
anuveyatsu
Santa vaca ¡Gracias!
Karl Johan Vallner
Mucho mejor y simple. Gracias
Prabhakar Undurthi
135

También me gustan los alias ... sin embargo, he tenido problemas con MySQLCOM para comenzar ... falla en silencio ... Mi solución es similar a los demás ... ~ / .bash_aliases

alias mysqlstart='sudo /usr/local/mysql/support-files/mysql.server start'
alias mysqlstop='sudo /usr/local/mysql/support-files/mysql.server stop' 
Eddie B
fuente
Otras respuestas fallaron en OSX 10.7.5 con la última instalación de MySQL. Este hizo el truco, ¡gracias!
Irongaze.com
@ Irongaze.com Me alegro de poder ayudar.
Eddie B
¡¡Gracias!! Quería iniciar mysql y poder cerrar la terminal también y esto funcionó. ¿Cuál es la diferencia entre esta forma de iniciarlo y la manera mysqld_safe?
oli206
1
De mysqld_safe vs mysql.server Antes de que mysql.server inicie el servidor, cambia la ubicación al directorio de instalación de MySQL y luego invoca mysqld_safe.
Eddie B
Excelente respuesta! Simple y efectivo.
Starkers
84

Como dice este útil artículo: En OS X para iniciar / detener MySQL desde la línea de comandos:

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

En Linux iniciar / detener desde la línea de comandos:

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

Algunos sabores de Linux también ofrecen el comando de servicio

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

o

 # service mysql start 
 # service mysql stop 
 # service mysql restart 
David
fuente
no existe tal archivo o directorio de/usr/local/mysql/support-files/mysql.server stop
nyxee
71

Si lo instaló con homebrew, el binario estará en algún lugar como

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

lo que significa que puedes comenzar con

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

y para con

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

Editar: como mencionó Jacob Raccuia, asegúrese de poner la versión adecuada de MySQL en la ruta.

Alex K
fuente
1
¡¡¡¡¡¡Si!!!!!! ¡No me di cuenta de que lo instalé de esta manera! asegúrese de poner la versión apropiada de mysql en el camino
Jacob Raccuia
31
sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
sudo /Library/StartupItems/MySQLCOM/MySQLCOM stop

crear alias en .bash_profile

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

y si está intentando ejecutar como root usar el modo seguro

sudo ./bin/mysqld_safe

si todavía tiene problemas para comenzar, una lectura recomendada: servidor de inicio mysql5.58 en mac os 10.6.5

Dennis
fuente
27

tal vez su servidor mysql no comenzó

puedes probar

/usr/local/bin/mysql.server start

42wolf
fuente
10

Para mí, esta solución funcionó en Mac Sierra OS:

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

Si está instalado con homebrew, intente simplemente escribir mysql.serveren la terminal y eso debería ser todo. AFAIK su ejecutable estará en /usr/local/bin/mysql.server.

Si no, siempre puede ejecutar siguiendo "localizar mysql.server" que le dirá dónde encontrar dicho archivo.

Nevio Vesić
fuente
5

Si tiene instalado MySQL a través de Homebrew, estos comandos lo ayudarán:

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

# For stoping
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Mario Uher
fuente
44
El LauchAgent para mysql no estaba allí por defecto. La ejecución brew info mysql(que aprendí de: stackoverflow.com/a/4622474/459863 ) declaró que primero tenía que ejecutar ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents. Después de eso, funcionó.
Wolfram Arnold
5

Mi MySQL se instala a través de homebrew en OS X ElCaptain. Lo que solucionó se estaba ejecutando

brew doctor

  • que sugirió que corriera

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

Luego:

brew update
mysql.server start

mysql ahora se está ejecutando

Merhawi Fissehaye
fuente
No sé por qué alguien votó en contra. Esto me sucedió durante una actualización de preparación. Ejecutar brew doctor y luego seguir las instrucciones para agregar una ruta particular a mi perfil de bash solucionó los problemas. Gracias por la sugerencia.
Nostalg.io
1

Error de inicio del servidor MySql 'El servidor se cerró sin actualizar el archivo PID'

si ha instalado mysql desde homebrew

cerrar el servidor mysql desde las preferencias de 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/[email protected]/5.7.27_1 --datadir=/usr/local/var/mysql --plugin-dir=/usr/local/Cellar/[email protected]/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
NIRAJ KUMAR
fuente
0
111028 16:57:43 [ERROR] Fatal error: Please read "Security" section of the manual to find out how to run mysqld as root!

¿Ha establecido una contraseña de root para su instalación de mysql? Esto es diferente a la contraseña de sudo root. Tratar/usr/local/mysql/bin/mysql_secure_installation

Hoppo
fuente
Cuando ejecuté la línea anterior, produjo: No se puede encontrar un cliente 'mysql' en PATH o ./bin
vietstone