instalar brew mysql en macOS

344

Estoy tratando de configurar MySQL en Mac OS 10.6 usando Homebrew by brew install mysql 5.1.52.

Todo va bien y también tengo éxito con el mysql_install_db.
Sin embargo, cuando intento conectarme al servidor usando:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin -u root password 'mypass'

Yo obtengo:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: conéctese al servidor en 'localhost' 
error fallido: 'Acceso denegado para el usuario' root '@' localhost '(usando la contraseña: NO)'

También he intentado acceder mysqladmin or mysql using -u root -proot,
pero no funciona con o sin contraseña.

Esta es una instalación completamente nueva en una máquina nueva y, que yo sepa, la nueva instalación debe ser accesible sin una contraseña de root. También probé:

/usr/local/Cellar/mysql/5.1.52/bin/mysql_secure_installation

pero también me sale

ERROR 1045 (28000): acceso denegado para el usuario 'root' @ 'localhost' (usando la contraseña: NO)
nikola
fuente
Ver también: apple.stackexchange.com/a/199747/152271 ... no es una instalación de preparación, pero funcionó para mí cuando ninguna de las respuestas aquí lo hizo
sudo rm -rf slash
1
FWIW que utilicé mysql -u rooty funcionó aquí: |
rogerdpack

Respuestas:

683

Creo que uno puede terminar en esta posición con versiones anteriores de mysql ya instaladas. Tuve el mismo problema y ninguna de las soluciones anteriores funcionó para mí. Lo arreglé así:

Usé brew's remove& cleanupcommands, descargué el launchctlscript, luego eliminé el directorio mysql /usr/local/var, eliminé mi existente /etc/my.cnf(déjelo en su caso, si corresponde) y launchctl plist

Se actualizó la cadena para el plist. Tenga en cuenta también que su directorio de script de seguridad alternativo se basará en la versión de MySQL que esté instalando.

Paso a paso:

brew remove mysql

brew cleanup

launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

sudo rm -rf /usr/local/var/mysql

Entonces comencé desde cero:

  1. instalado mysql con brew install mysql
  2. ejecutó los comandos brew sugeridos: (ver nota: a continuación)

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
  3. Inicie mysql con el mysql.server startcomando, para poder iniciar sesión

  4. Usó el script de seguridad alternativo:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
  5. Seguimos la launchctlsección de la salida del script del paquete de preparación como,

    #start
    launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    
    #stop
    launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

Nota: el --forcebit encendido brew cleanuptambién limpiará barriles obsoletos, creo que es una característica homebrew nueva e ish.

Tenga en cuenta el segundo: un comentarista dice que el paso 2 no es obligatorio. No quiero probarlo, ¡así que YMMV!

Rios Lorin
fuente
30
Gran respuesta, gracias! Una cosa para agregar: aunque se menciona en la respuesta, lo extrañé y, al hacerlo, perdí alrededor de 6 horas tratando de configurar Lion OSX. Asegúrese de eliminar el antiguo directorio mysql en / usr / local / var / mysql si tiene una versión anterior de MySql antes de volver a instalar. De lo contrario, no podrá iniciar sesión como root inicialmente para establecer la contraseña y pasará mucho tiempo gritando a su computadora.
tronbabylove
3
vaya a ~ / Library / LaunchAgents para ver cómo se llama realmente el archivo .plist para mysql, en mi caso fue instalado por homebrew, por lo que debe modificar el procedimiento de desinstalación anterior.
Marco
77
Debido a que este hilo es antiguo, la línea de "lanzamiento de launchctl" anterior ahora está equivocada. El archivo de instalación de homebrew ya no se llama "com.mysql.mysqld.plist", se llama "homebrew.mxcl.mysql.plist". La línea ahora debería leer "launchctl unload -w ~ / Library / LaunchAgents / homebrew.mxcl.mysql.plist"
Tommy
44
Tengo` [~ / Library / LaunchAgents] $ ls com.adobe.ARM.202f4087f2bbde52e3ac2df389f53a4f123223c9cc56a8fd83a6f7ae.plist com.mysql.mysqld.plist com.facebook.videochat.ava.plist homebrew.mx.clist homebrew. / LaunchAgents` pero descargarlos dalaunchctl: Couldn't stat("com.mysql.mysqld.plist"): No such file or directory
Ava
99
mysql_install_db ahora se puede omitir, brew crea el servidor automáticamente en el directorio correcto.
rfreytag
52

Aquí hay instrucciones detalladas que combinan deshacerse de todo MySQL de su Mac y luego instalarlo The Brew Way como Sedorner escribió anteriormente:

Eliminar MySQL completamente según The Tech Lab

  • ps -ax | grep mysql
  • detener y killcualquier proceso MySQL
  • sudo rm /usr/local/mysql
  • sudo rm -rf /usr/local/var/mysql
  • sudo rm -rf /usr/local/mysql*
  • sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • sudo rm -rf /Library/StartupItems/MySQLCOM
  • sudo rm -rf /Library/PreferencePanes/My*
  • launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
  • editar /etc/hostconfigy eliminar la líneaMYSQLCOM=-YES-
  • rm -rf ~/Library/PreferencePanes/My*
  • sudo rm -rf /Library/Receipts/mysql*
  • sudo rm -rf /Library/Receipts/MySQL*
  • sudo rm -rf /private/var/db/receipts/*mysql*
  • sudo rm -rf /tmp/mysql*
  • intenta correr mysql, no debería funcionar

Brew instalar MySQL por usuario Sedorner de esta respuesta de StackOverflow

  • brew doctor y corrige cualquier error
  • brew remove mysql
  • brew cleanup
  • brew update
  • brew install mysql
  • unset TMPDIR

    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp # whoami is executed inline
  • mysql.server start

  • ejecuta los comandos que Brew sugiere, agrega MySQL para launchctlque se inicie automáticamente al inicio

mysql ahora debería funcionar y ejecutarse todo el tiempo como se esperaba

Buena suerte.

corysimmons
fuente
3
También me picaron al hacer todo lo anterior sin quitar /tmp/mysql.sock primero.
TKH
Gracias +1. Un par de comentarios: usted dice que sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist, luego de unos pocos pasos intenta intentar launchctl unloadese archivo ... pero no estará allí, porque lo eliminó. Además, brew install mysqlejecutó el mysql_install_dbpaso para mí, no es necesario hacerlo dos veces.
Madbreaks
@CorySimmons Qué significa esto que debo usar mi propio nombre, o rooten la whoamiparte de los comandos?
YPCrumble
1
Confirmado: whoami es mi nombre (solía root). Esto funcionó muy bien.
YPCrumble
Tenga en cuenta que /etc/hostconfigno existe en Yosemite y más allá ( superuser.com/questions/850974/... )
ecbrodie
44

Tuve el mismo problema Parece que hay algo mal con las instrucciones de configuración o las tablas iniciales que se están creando. Así es como conseguí mysqld ejecutándose en mi máquina.

Si el servidor mysqld ya se está ejecutando en su Mac, deténgalo primero con:

launchctl unload -w ~/Library/LaunchAgents/com.mysql.mysqld.plist

Inicie el servidor mysqld con el siguiente comando que le permite a cualquiera iniciar sesión con permisos completos.

mysqld_safe --skip-grant-tables

Luego, ejecute mysql -u rootlo que ahora debería permitirle iniciar sesión correctamente sin una contraseña. El siguiente comando debería restablecer todas las contraseñas raíz.

UPDATE mysql.user SET Password=PASSWORD('NewPassword') WHERE User='root'; FLUSH PRIVILEGES;

Ahora, si elimina la copia en ejecución de mysqld_safe y la inicia de nuevo sin la opción skip-grant-tables, debería poder iniciar sesión con mysql -u root -pla nueva contraseña que acaba de establecer.

Alistair McMillan
fuente
¡Esto funcionó para mí! Comencé a adivinar la contraseña antes de intentar esto también y la contraseña terminó siendo 'contraseña'. Así que intenta eso.
cointilt
Lanzar mysqld_safe sin las tablas de subvenciones funcionó para mí. Sin embargo, la ACTUALIZACIÓN no funcionó ya que no tengo ningún registro en select * de mysql.user; Como ya hemos iniciado sesión como root, simplemente podemos insertar uno para root ejecutando GRANT ALL PRIVILEGES ON . TO 'root' @ 'localhost' IDENTIFICADO POR 'lo que sea'; ENJUAGUE PRIVILEGIOS;
Rupert
Estaba usando el servicio de detención / script, y seguía reiniciando. ¿Fue porque nunca descargué el LaunchAgent? (doh)
reneruiz
1
Lo que funciona para mí fue algo similar a lo que haces. En la parte que actualizó la contraseña del usuario, tuve que hacer: use mysql; actualizar el conjunto de usuarios autenticación_cadena = contraseña ('1111') donde usuario = 'raíz'; Como en: stackoverflow.com/a/31122246/1328261
ruhanbidart
16

Si brew instaló MySQL 5.7, el proceso es un poco diferente al de las versiones anteriores. Para restablecer la contraseña de root, proceda de la siguiente manera:

sudo rm -rf /usr/local/var/mysql
mysqld --initialize

Se imprimirá una contraseña temporal en la consola y solo se puede usar para actualizar la contraseña raíz:

mysql.server start
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot --password=TEMPORARY_PASSWORD
mrucci
fuente
2
Puedo ver la contraseña temporal generada, pero cuando intento ejecutar mysql, obtengo: ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXX.local.pid).y cuando hago mysql -u root, no se acepta la contraseña.
forloop
1
Instalé con éxito mysql 5.7.9 usando el instalador dmg que me solicitó una ventana que generó una contraseña temporal para mí. Y ahora mysqlestá funcionando correctamente. Lástima que tuve que pasar una gran cantidad de tiempo solo para que funcione en un nuevo Macbook. : |
forloop
1
@forloop 1. ps -ef | grep mysql 2. kill -9 pid 3. mysql.server start
oshaiken
para mí, el restablecimiento / alteración de la contraseña anterior no funcionó. Tuve que iniciar sesión en mysql usando una contraseña temporal y luego ejecutar el comando alter 1. mysql -u root -p <temp-password> 2.ALTER USER 'root'@'localhost' IDENTIFIED BY 'New-Password';
Prueba de prueba
8

Bien, tuve el mismo problema y lo resolví. Por alguna razón, el script mysql_secure_installation no funciona fuera de la caja cuando uso Homebrew para instalar mysql, así que lo hice manualmente. En la CLI ingrese :

mysql -u root

Eso debería llevarte a mysql. Ahora haga lo siguiente (tomado de mysql_secure_installation):

UPDATE mysql.user SET Password=PASSWORD('your_new_pass') WHERE User='root';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.db WHERE Db='test' OR Db='test\\_%'
DROP DATABASE test;
FLUSH PRIVILEGES;

Ahora salga y regrese a mysql con: mysql -u root -p

Darren Newton
fuente
1
Esta solución no me funciona porque la raíz mysql -u no me lleva al indicador mysql. Dice acceso denegado para el usuario 'root' @ 'localhost' (usando la contraseña: NO)
Nick Vanderbilt
¿Tuviste una instalación previa de MySQL en esa máquina?
Darren Newton el
8

Tuve el mismo problema justo ahora. Si usted brew info mysqly sigue los pasos, parece que la contraseña de root debería ser new-passwordsi no recuerdo mal. Estaba viendo lo mismo que tú estás viendo. Este artículo me ayudó más.

Resultó que no tenía ninguna cuenta creada para mí. Cuando inicié sesión después de ejecutar mysqld_safey no hice, select * from user;se devolvieron las filas. Abrí MySQLWorkbench con la mysqld_safeejecución y agregué una rootcuenta con todos los privilegios que esperaba. Esto está funcionando bien para mí ahora.

marca
fuente
7

Si mysql ya está instalado

Deja de mysql por completo.

  1. mysql.server stop <- puede necesitar edición según su versión
  2. ps -ef | grep mysql <- enumera procesos con mysql en su nombre
  3. kill [PID] <- mata los procesos por PID

Eliminar archivos Las instrucciones anteriores son buenas. Lo añadiré:

  1. sudo find /. -name "*mysql*"
  2. Usando su juicio, rm -rfestos archivos. Tenga en cuenta que muchos programas tienen controladores para mysql que no desea eliminar. Por ejemplo, no elimine cosas en el directorio de instalación de PHP. Elimine cosas en su propio directorio mysql.

Instalar en pc

Espero que tengas homebrew. Si no, descárgalo.

Me gusta ejecutar brew como root, pero no creo que tenga que hacerlo. Edit 2018: ya no puedes ejecutar brew como root

  1. sudo brew update
  2. sudo brew install cmake <- dependencia para mysql, útil
  3. sudo brew install openssl <- dependencia para mysql, útil
  4. sudo brew info mysql <- hojea esto ... te da una idea de lo que vendrá después
  5. sudo brew install mysql --with-embedded; say done<- Instala mysql con el servidor incorporado. Te dice cuándo termina (mi instalación tardó 10 minutos)

Después

  1. sudo chown -R mysql /usr/local/var/mysql/ <- mysql no funcionaría para mí hasta que ejecutara este comando
  2. sudo mysql.server start <- una vez más, la sintaxis exacta puede variar
  3. Cree usuarios en mysql ( http://dev.mysql.com/doc/refman/5.7/en/create-user.html ). Recuerde agregar una contraseña para el usuario root.
sudo rm -rf slash
fuente
3

brew info mysql

mysql: stable 5.6.12 (bottled)
http://dev.mysql.com/doc/refman/5.6/en/
Conflicts with: mariadb, mysql-cluster, percona-server
/usr/local/Cellar/mysql/5.6.12 (9363 files, 353M) *
  Poured from bottle
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/mysql.rb
==> Dependencies
Build: cmake
==> Options
--enable-debug
    Build with debug support
--enable-local-infile
    Build with local infile loading support
--enable-memcached
    Enable innodb-memcached support
--universal
    Build a universal binary
--with-archive-storage-engine
    Compile with the ARCHIVE storage engine enabled
--with-blackhole-storage-engine
    Compile with the BLACKHOLE storage engine enabled
--with-embedded
    Build the embedded server
--with-libedit
    Compile with editline wrapper instead of readline
--with-tests
    Build with unit tests
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To connect:
    mysql -uroot

To reload mysql after an upgrade:
    launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

mysql.service start

. ERROR! The server quit without updating PID file (/var/run/mysqld/mysqld.pid).

o mysql -u root

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Estoy buscando una solución por algún tiempo pero no puedo resolver mi problema. Probé varias soluciones en stackoverflow.com, pero esto no me ayudó.

Felipe Duardo
fuente
44
Intente ejecutar sudo chown -R mysql /usr/local/var/mysql/antes de ejecutar mysql.server startsi está ejecutando mysql.servercomo root (cuando comienza a usar el usuario root, el servidor MySQL degrada al _mysqlusuario).
Rarylson Freitas
Oye, ¿encontraste una solución para este problema?
KcC0
omg, la cantidad de preguntas y respuestas a 1.000 líneas de este problema ... creo que voy a brew install redisTBH
Danyal Aytekin
3

TL; DR

El servidor MySQL podría no ejecutarse después de la instalación con Brew. Pruebe brew services start mysqlo simplemente mysql.server startsi no desea que MySQL se ejecute como un servicio en segundo plano.

Historia completa:

Acabo de instalar MySQL (estable) 5.7.17 en un nuevo MacBook Pro con Sierra y también recibí un error al ejecutar mysql_secure_installation:

Securing the MySQL server deployment.

Enter password for user root: 
Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

¿Que qué?

De acuerdo con la información de instalación de Brew, mysql_secure_installationdebería pedirme que ... asegure la instalación. Me imaginé que el servidor MySQL podría no estar funcionando y con razón. Corriendo brew services start mysqly luego mysql_secure_installationfuncionó a las mil maravillas.

Nicholas
fuente
1

Prueba dándole permiso a Grant Comando de mysql

X Men
fuente
el problema es que no puedo acceder al servidor mysql después de la instalación por brew. Puedo iniciarlo, pero no me deja entrar como root con o sin contraseña. (por lo tanto no puedo crear otros usuarios o administrar los permisos .. o ¿No te he entendido bien?
Nikola
1

Ninguna de las respuestas anteriores (o cualquiera de las docenas de respuestas que vi en otro lugar) me funcionó cuando usé brew con la versión más reciente de mysql y yosemite. Terminé instalando una versión diferente de mysql a través de brew.

Especificar una versión anterior diciendo (por ejemplo)

brew install mysql56

Trabajó para mi. Espero que esto ayude a alguien. Este fue un problema frustrante que sentí como si estuviera atrapado para siempre.

toddmetheny
fuente
Sí, esto funcionará, pero si desea instalar MySQL 5.7 (como lo hace actualmente brew install mysql), puede seguir las instrucciones en mi respuesta stackoverflow.com/a/33924648/133106
mrucci
1

Aquí hay una actualización para MySQL 5.7

bash --version
GNU bash, versión 4.4.12 (1) -release (x86_64-apple-darwin17.0.0)
Copyright (C) 2016 Free Software Foundation, Inc.
Licencia GPLv3 +: GNU GPL versión 3 o posterior 

Esto es software libre; eres libre de cambiarlo y redistribuirlo.
NO HAY GARANTÍA, en la medida permitida por la ley.

# ========================================
preparar --versión
Homebrew 1.7.6
Homebrew / homebrew-core (git revision eeb08; última confirmación 2018-09-27)
Homebrew / homebrew-cask (git revision c9f62; última confirmación 2018-09-27)

# ========================================
mysql --version
mysql Ver 14.14 Distrib 5.7.23, para osx10.13 (x86_64) usando el envoltorio EditLine

# ========================================
system_profiler SPSoftwareDataType
Software:

    Descripción general del software del sistema:

      Versión del sistema: macOS 10.13.3 (17D47)
      Versión de Kernel: Darwin 17.4.0
      Volumen de arranque: Macintosh HD
      Modo de arranque: normal
      Nombre de la computadora: EdisonMacHomeBj
      Nombre de usuario: Edison (edison)
      Memoria virtual segura: habilitada
      Protección de integridad del sistema: deshabilitado
      Tiempo desde el arranque: 6 días 23:13
brew eliminar [email protected]
limpieza de preparación
mv / usr / local / var / mysql /usr/local/var/mysql.bak
instalar brew [email protected]
rm -rf / usr / local / var / mysql

# ========================================
mysqld --inicializar
2018-09-28T04: 54: 06.526061Z 0 [Advertencia] TIMESTAMP con valor implícito DEFAULT está en desuso. Utilice la opción de servidor --explicit_defaults_for_timestamp (consulte la documentación para obtener más detalles).
2018-09-28T04: 54: 06.542625Z 0 [Advertencia] Establecer lower_case_table_names = 2 porque el sistema de archivos para / usr / local / var / mysql / no distingue entre mayúsculas y minúsculas
2018-09-28T04: 54: 07.096637Z 0 [Advertencia] InnoDB: Nuevos archivos de registro creados, LSN = 45790
2018-09-28T04: 54: 07.132950Z 0 [Advertencia] InnoDB: Creación de tablas de sistema de restricción de clave externa.
2018-09-28T04: 54: 07.196824Z 0 [Advertencia] No se ha encontrado ningún UUID existente, por lo que suponemos que es la primera vez que se inicia este servidor. Generando un nuevo UUID: 87cf2f10-c2da-11e8-ac2d-ba163df10130.
2018-09-28T04: 54: 07.224871Z 0 [Advertencia] La tabla de Gtid no está lista para usarse. La tabla 'mysql.gtid_executed' no se puede abrir.
2018-09-28T04: 54: 07.366688Z 0 [Advertencia] El certificado de CA ca.pem está autofirmado.
2018-09-28T04: 54: 07.457954Z 1 [Nota] Se genera una contraseña temporal para root @ localhost: kq3K = JR8; GqZ

# ========================================
instalación_segura_seguridad_mysql -uroot -p "kq3K = JR8; GqZ"
mysql_secure_installation: [Advertencia] Usar una contraseña en la interfaz de línea de comandos puede ser inseguro.

Asegurar la implementación del servidor MySQL.


La contraseña existente para la raíz de la cuenta de usuario ha caducado. Por favor, establezca una nueva contraseña.

Nueva contraseña:

Re-ingrese nueva contraseña:

VALIDAR CONTRASEÑA PLUGIN puede usarse para probar contraseñas
y mejorar la seguridad. Comprueba la fuerza de la contraseña
y permite a los usuarios establecer solo las contraseñas que son
lo suficientemente seguro ¿Desea configurar el complemento VALIDATE PASSWORD?

Presione y | Y para Sí, cualquier otra tecla para No: n
Usando la contraseña existente para root.
¿Cambiar la contraseña de root? ((Presione y | Y para Sí, cualquier otra tecla para No): y

Nueva contraseña:

Re-ingrese nueva contraseña:
Por defecto, una instalación de MySQL tiene un usuario anónimo,
permitir que cualquiera pueda iniciar sesión en MySQL sin tener que tener
una cuenta de usuario creada para ellos. Esto está destinado solo para
pruebas y hacer que la instalación sea un poco más suave.
Debes eliminarlos antes de pasar a una producción
medio ambiente.

¿Eliminar usuarios anónimos? (Presione y | Y para Sí, cualquier otra tecla para No): y
Éxito.


Normalmente, solo se debe permitir que root se conecte desde
'localhost'. Esto asegura que alguien no pueda adivinar
La contraseña de root de la red.

¿No permitir el inicio de sesión root de forma remota? (Presione y | Y para Sí, cualquier otra tecla para No): n

 ... saltando.
Por defecto, MySQL viene con una base de datos llamada 'prueba' que
cualquiera puede acceder. Esto también está destinado solo para pruebas,
y debe eliminarse antes de pasar a una producción
medio ambiente.


¿Eliminar la base de datos de prueba y acceder a ella? (Presione y | Y para Sí, cualquier otra tecla para No): n

 ... saltando.
Recargar las tablas de privilegios asegurará que todos los cambios
hecho hasta ahora surtirá efecto de inmediato.

¿Recargar tablas de privilegios ahora? (Presione y | Y para Sí, cualquier otra tecla para No): y
Éxito.

¡Todo listo!
Edison
fuente
cuando copia toda la base de datos de "mysql.bak" no funciona :(
Jahirul Islam Mamun
1

Solo para agregar algo a las respuestas anteriores: al actualizar MySql 5.6 a MySql 8.0, seguí los pasos proporcionados aquí para realizar una desinstalación limpia, pero obtuve los siguientes errores

2019-11-05T07:57:31.359304Z 0 [ERROR] [MY-000077] [Server] /usr/local/Cellar/mysql/8.0.18/bin/mysqld: Error while setting value 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' to 'sql_mode'.
2019-11-05T07:57:31.359330Z 0 [ERROR] [MY-013236] [Server] The designated data directory /usr/local/var/mysql is unusable. You can remove all files that the server added to it.
2019-11-05T07:57:31.359413Z 0 [ERROR] [MY-010119] [Server] Aborting
2019-11-05T07:57:31.359514Z 0 [Note] [MY-010120] [Server] Binlog end

Me tomó algo de tiempo resolverlo. Encontré una pista aquí: https://discourse.brew.sh/t/clean-removal-of-mysql/2251

Entonces, la clave de mi problema fue eliminar el archivo /usr/local/etc/my.cnf después de la desinstalación. Después de ese último paso, MySql finalmente comenzó a trabajar.

Gishas
fuente
0

Tuve el mismo problema después de intentar reiniciar mysql.

Utilizo los siguientes dos alias en mi .profile por conveniencia

alias mysql-stop='launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'
alias mysql-start='launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist' 

Después de detener mysql y luego intentar reiniciar, experimenté el problema que estaba teniendo. Miré en la carga de launchctl e informaba un error "no se encontró nada que cargar".

Después de una búsqueda rápida, encontré esto ...

http://www.daveoncode.com/2013/02/01/solve-mac-osx-launchctl-nothing-found-to-load-error/

Así que actualicé mi mysql-startalias de la siguiente manera

alias mysql-start='launchctl load -w -F ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist'

Esto resolvió mi problema que puede ser útil para usted.

Alexander Millar
fuente
2
Brew ahora admite un servicescomando, por lo que estos se pueden reemplazar con brew services stop mysqly brew services start mysqlrespectivamente.
devstuff
0

La "Ruta de base" para Mysql se almacena en la /etc/my.cnfque no se actualiza cuando realiza la actualización. Simplemente ábralo y cambie el valor de base

Por ejemplo, cambie esto:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.13

para apuntar a la nueva versión:

[mysqld]
basedir=/Users/3st/homebrew/Cellar/mysql/5.6.19

Reinicie mysql con:

mysql.server start
Bernhard Zürn
fuente