brew instale o mysql no macOS

343

Estou tentando configurar o MySQL no mac os 10.6 usando o Homebrew by brew install mysql 5.1.52.

Tudo vai bem e eu também sou bem sucedido com o mysql_install_db.
No entanto, quando tento conectar-me ao servidor usando:

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

Eu recebo:

/usr/local/Cellar/mysql/5.1.52/bin/mysqladmin: conecte-se ao servidor em 'localhost' 
erro com falha: 'Acesso negado para o usuário' root '@' localhost '(usando a senha: NO)'

Eu tentei acessar mysqladmin or mysql using -u root -proottambém,
mas ele não funciona com ou sem senha.

Esta é uma instalação nova em uma máquina nova e, até onde eu sei, a nova instalação deve estar acessível sem uma senha root. Eu também tentei:

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

mas eu também entendo

ERRO 1045 (28000): acesso negado para o usuário 'root' @ 'localhost' (usando a senha: NO)
Nikola
fonte
Veja também: apple.stackexchange.com/a/199747/152271 ... não é Brew instalar, mas ele trabalhou para mim quando nenhuma das respostas aqui fez
sudo rm -rf cortar
11
FWIW eu usei mysql -u roote funcionou aqui: |
Rogerdpack

Respostas:

683

Eu acho que alguém pode acabar nessa posição com versões mais antigas do mysql já instaladas. Eu tive o mesmo problema e nenhuma das soluções acima funcionou para mim. Corrigi assim:

Usei brew's remove& cleanupcommand, descarregou o launchctlscript e excluiu o diretório mysql /usr/local/var, excluiu o meu existente /etc/my.cnf(deixe esse por sua conta, se for o caso) e launchctl plist

Atualizado a string para o plist. Observe também que seu diretório de script de segurança alternativo será baseado na versão do MySQL que você está instalando.

Passo a passo:

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

Comecei do zero:

  1. mysql instalado com brew install mysql
  2. executou os comandos sugeridos pelo brew: (veja a nota: abaixo)

    unset TMPDIR
    
    mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
    
  3. Inicie o mysql com o mysql.server startcomando, para poder fazer logon nele

  4. Utilizou o script de segurança alternativo:

    /usr/local/Cellar/mysql/5.5.10/bin/mysql_secure_installation
  5. Seguiu a launchctlseção da saída do script do pacote de preparação, como,

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

Nota: o --forcebit on brew cleanuptambém limpará barris desatualizados, acho que é um recurso homebrew novo.

Observe o segundo: um comentarista diz que a etapa 2 não é necessária. Eu não quero testá-lo, então YMMV!

Lorin Rivers
fonte
30
Ótima resposta, obrigado! Uma coisa a acrescentar: Embora mencionado na resposta, eu perdi e perdi cerca de 6 horas tentando configurar o Lion OSX. Certifique-se de excluir o diretório antigo do mysql em / usr / local / var / mysql se você tiver uma versão anterior do MySql antes de reinstalar. Caso contrário, você não poderá efetuar login como root inicialmente para definir a senha e passará muito tempo gritando com seu computador.
tronbabylove
3
vá para ~ / Library / LaunchAgents para ver como o arquivo .plist para mysql é realmente chamado - no meu caso, ele foi instalado pelo homebrew, então você precisa modificar o procedimento de desinstalação acima.
18712 Marco Marco
7
Como esse encadeamento é antigo, a linha "launchctl unload" acima agora está errada. A instalação do homebrew do arquivo não é mais chamada de "com.mysql.mysqld.plist", é chamada de "homebrew.mxcl.mysql.plist". A linha agora deve ler "launchctl unload -w ~ / Library / LaunchAgents / homebrew.mxcl.mysql.plist"
Tommy
4
Eu tenho `[~ / Library / LaunchAgents] $ ls com.adobe.ARM.202f4087f2bbde52e3ac2df389f53a4f123223c9cc56a8fd83a6f7ae.plist com.mysql.mysqld.plist com.facebook.videochat.ava.plist homebrew.mx` / LaunchAgents` mas descarregá-los dálaunchctl: Couldn't stat("com.mysql.mysqld.plist"): No such file or directory
Ava
9
Agora o mysql_install_db pode ser omitido, o brew cria o servidor automaticamente no diretório certo.
Rfreytag 02/07/2014
52

Aqui estão instruções detalhadas que combinam a remoção de todo o MySQL do seu Mac e a instalação do The Brew Way como Sedorner escreveu acima:

Remova completamente o MySQL pelo The Tech Lab

  • ps -ax | grep mysql
  • parar e killqualquer processo 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/hostconfige remover a linhaMYSQLCOM=-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*
  • tente correr mysql, não deve funcionar

O Brew instala o MySQL por usuário Sedorner a partir desta resposta do StackOverflow

  • brew doctor e corrija quaisquer erros
  • 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

  • execute os comandos que o Brew sugere, adicione o MySQL para launchctlque seja iniciado automaticamente na inicialização

mysql agora deve funcionar e estar funcionando o tempo todo, conforme o esperado

Boa Sorte Vá com Deus.

corysimmons
fonte
3
Eu também fui mordido fazendo todas as opções acima sem remover o /tmp/mysql.sock primeiro.
TKH
Obrigado, +1. sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plistAlguns comentários: você diz , depois de algumas etapas depois tenta launchctl unloadesse arquivo ... mas ele não estará lá, porque você o excluiu. Além disso, brew install mysqlexecutei o mysql_install_dbpasso para mim, não há necessidade de fazê-lo duas vezes.
Madbreaks
@CorySimmons, isso significa que devo usar meu próprio nome ou rootna whoamiparte de seus comandos?
usar o seguinte comando
11
Confirmado - whoami é o meu nome (eu usei root). Isso funcionou muito bem.
YPCrumble
Observe que /etc/hostconfignão existe em Yosemite e além ( superuser.com/questions/850974/… )
ecbrodie
44

Teve o mesmo problema. Parece que há algo errado com as instruções de configuração ou as tabelas iniciais que estão sendo criadas. Foi assim que consegui o mysqld rodando na minha máquina.

Se o servidor mysqld já estiver em execução no seu Mac, pare-o primeiro com:

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

Inicie o servidor mysqld com o seguinte comando, que permite que qualquer pessoa efetue login com permissões totais.

mysqld_safe --skip-grant-tables

Em seguida, execute o mysql -u rootque agora deve permitir que você efetue login com êxito sem uma senha. O comando a seguir deve redefinir todas as senhas raiz.

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

Agora, se você matar a cópia em execução do mysqld_safe e iniciá-la novamente sem a opção skip-grant-tables, poderá fazer login com mysql -u root -pa nova senha que acabou de definir.

Alistair McMillan
fonte
Isso funcionou para mim! Comecei a adivinhar a senha antes de tentar isso também e a senha acabou sendo 'password'. Então tente isso.
cointilt
O lançamento do mysqld_safe sem as tabelas de permissões funcionou para mim. No entanto, o UPDATE não funcionou, pois não tenho nenhum registro ao selecionar * no mysql.user; Como já estamos logados como root, podemos simplesmente inserir um no root executando GRANT ALL PRIVILEGES ON . PARA 'root' @ 'localhost' IDENTIFICADO POR 'tanto faz'; PRIVILÉGIOS DE LAVAGEM;
Rupert
Eu estava usando o serviço / script de parada e ele continuou reiniciando. Isso foi porque eu nunca descarreguei o LaunchAgent? (doh)
reneruiz
11
O que funciona para mim foi algo semelhante ao que você faz. Na parte em que você atualizou a senha do usuário, tive que fazer: use mysql; atualizar conjunto de usuários authentication_string = password ('1111') em que user = 'root'; Como em: stackoverflow.com/a/31122246/1328261 #
ruhanbidart
16

Se o brew instalou o MySQL 5.7, o processo é um pouco diferente do que nas versões anteriores. Para redefinir a senha root, faça o seguinte:

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

Uma senha temporária será impressa no console e só poderá ser usada para atualizar a senha root:

mysql.server start
echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'my-new-password';" | mysql -uroot --password=TEMPORARY_PASSWORD
mrucci
fonte
2
Posso ver a senha temporária gerada, mas quando tento executar o mysql, recebo: ERROR! The server quit without updating PID file (/usr/local/var/mysql/XXXXX.local.pid).e quando executo o mysql -u root, a senha não é aceita.
forloop 26/11/15
11
Eu instalei com sucesso o mysql 5.7.9 usando o instalador do dmg, que me levou a uma janela que gerava uma senha temporária para mim. E agora mysqlestá funcionando corretamente. Pena que tive que gastar uma quantidade enorme de tempo apenas para fazê-lo funcionar em um novo Macbook. : |
forloop 26/11/15
11
@forloop 1. ps -ef | grep mysql 2. kill -9 pid 3. mysql.server start
oshaiken 15/17
para mim, a redefinição / alteração da senha acima não funcionou. Eu tive que entrar no mysql usando senha temporária e depois executar o comando alter 1. mysql -u root -p <temp-password> 2.ALTER USER 'root'@'localhost' IDENTIFIED BY 'New-Password';
Test Test
8

Ok, eu tive o mesmo problema e resolvi. Por alguma razão, o script mysql_secure_installation não funciona imediatamente ao usar o Homebrew para instalar o mysql, então eu o fiz manualmente. Na CLI, digite :

mysql -u root

Isso deve levar você ao mysql. Agora faça o seguinte (extraído 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;

Agora saia e volte ao mysql com: mysql -u root -p

Darren Newton
fonte
11
Esta solução não está funcionando para mim porque o mysql -u root não está me levando ao prompt do mysql. Ele diz que Acesso negado para o usuário 'root' @ 'localhost' (usando a senha: NO)
Nick Vanderbilt
Você tinha uma instalação anterior do MySQL nessa máquina?
Darren Newton
8

Eu tive o mesmo problema agora. Se você brew info mysqlseguir as etapas, parece que a senha do root deve ser, new-passwordse bem me lembro. Eu estava vendo a mesma coisa que você está vendo. Este artigo me ajudou mais.

Acabou que eu não tinha nenhuma conta criada para mim. Quando eu entrei depois de executar mysqld_safee não select * from user;retornou nenhuma linha. Abri o MySQLWorkbench com a mysqld_safeexecução e adicionei uma rootconta com todos os privs que eu esperava. Isso está funcionando bem para mim agora.

Marca
fonte
7

Se o mysql já estiver instalado

Pare o mysql completamente.

  1. mysql.server stop <- pode precisar de edição com base na sua versão
  2. ps -ef | grep mysql <- lista processos com mysql em seus nomes
  3. kill [PID] <- mata os processos por PID

Remova arquivos. As instruções acima são boas. Vou acrescentar:

  1. sudo find /. -name "*mysql*"
  2. Usando seu julgamento, rm -rfesses arquivos. Note que muitos programas possuem drivers para mysql que você não deseja remover. Por exemplo, não exclua coisas no diretório de instalação do PHP. Remova coisas em seu próprio diretório mysql.

Instalar

Espero que você tenha homebrew. Caso contrário, faça o download.

Eu gosto de rodar cerveja como raiz, mas acho que não precisa. Edit 2018: você não pode mais executar o brew como root

  1. sudo brew update
  2. sudo brew install cmake <- dependência para mysql, útil
  3. sudo brew install openssl <- dependência para mysql, útil
  4. sudo brew info mysql <- percorra isso ... dá uma idéia do que está por vir
  5. sudo brew install mysql --with-embedded; say done<- Instala o mysql com o servidor incorporado. Informa quando termina (minha instalação levou 10 minutos)

Mais tarde

  1. sudo chown -R mysql /usr/local/var/mysql/ <- o mysql não funcionaria para mim até eu executar este comando
  2. sudo mysql.server start <- mais uma vez, a sintaxe exata pode variar
  3. Crie usuários no mysql ( http://dev.mysql.com/doc/refman/5.7/en/create-user.html ). Lembre-se de adicionar uma senha para o usuário root.
barra sudo rm -rf
fonte
3

informações de fermentação 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).

ou mysql -u root

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

Estou procurando uma solução há algum tempo, mas não consigo resolver meu problema. Eu tentei várias soluções em stackoverflow.com, mas isso não está me ajudando.

Felipe Duardo
fonte
4
Tente executar sudo chown -R mysql /usr/local/var/mysql/antes de executar mysql.server startse você estiver executando mysql.servercomo root (ao começar a usar o usuário root, o servidor MySQL faz o downgrade para o _mysqlusuário).
Rarylson Freitas
Ei, você encontrou uma solução para este problema?
KcC0
omg, a quantidade de perguntas e 1000 respostas de linha para este problema ... acho que vou apenas brew install redistbh
Danyal Aytekin
3

TL; DR

O servidor MySQL pode não estar em execução após a instalação com o Brew. Tente brew services start mysqlou apenas mysql.server startse você não quiser que o MySQL seja executado como um serviço em segundo plano.

História completa:

Acabei de instalar o MySQL (estável) 5.7.17 em um novo MacBook Pro executando o Sierra e também recebi um erro ao executar 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)

Diga o quê?

De acordo com as informações de instalação do Brew, mysql_secure_installationdevo solicitar que ... proteja a instalação. Achei que o servidor MySQL talvez não estivesse funcionando e com razão. Correr brew services start mysqle depois mysql_secure_installationtrabalhar como um encanto.

Nicholas
fonte
1

Tente dando permissão Grant Comando do mysql

XMen
fonte
o problema é que não consigo acessar o servidor mysql após a instalação pelo brew. Eu posso iniciá-lo, mas ele não me deixa entrar como root com ou sem senha. (portanto, não posso criar outros usuários ou gerenciar permissões .. ou ter Eu não entendi direito?
Nikola
1

Nenhuma das respostas acima (ou qualquer uma das dezenas de respostas que vi em outros lugares) funcionou para mim ao usar o brew com a versão mais recente do mysql e yosemite. Acabei instalando uma versão mysql diferente via brew.

Especificando uma versão mais antiga dizendo (por exemplo)

brew install mysql56

Trabalhou para mim. Espero que isso ajude alguém. Este foi um problema frustrante que eu senti como se estivesse preso para sempre.

toddmetheny
fonte
Sim, este trabalho vontade, mas se você quiser instalar o MySQL 5.7 (tal como sucede actualmente por brew install mysql), você pode seguir as instruções na minha resposta stackoverflow.com/a/33924648/133106
mrucci
1

Aqui está uma atualização para o MySQL 5.7

bash --versão
Lançamento do GNU bash, versão 4.4.12 (1) (x86_64-apple-darwin17.0.0)
Direitos autorais (C) 2016 Free Software Foundation, Inc.
Licença GPLv3 +: GNU GPL versão 3 ou posterior 

Este é um software livre; você é livre para alterar e redistribuí-lo.
NÃO HÁ GARANTIA, na extensão permitida por lei.

# ========================================
brew --version
Homebrew 1.7.6
Homebrew / homebrew-core (revisão do git eeb08; último commit 2018-09-27)
Homebrew / homebrew-cask (revisão do git c9f62; última confirmação 2018-09-27)

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

# ========================================
system_profiler SPSoftwareDataType
Programas:

    Visão geral do software do sistema:

      Versão do sistema: macOS 10.13.3 (17D47)
      Versão do kernel: Darwin 17.4.0
      Volume de inicialização: Macintosh HD
      Modo de inicialização: Normal
      Nome do computador: EdisonMacHomeBj
      Nome de usuário: Edison (edison)
      Memória virtual segura: ativada
      Proteção de integridade do sistema: desativada
      Tempo desde a inicialização: 6 dias 23:13
brew remove [email protected]
limpeza de cerveja
mv / usr / local / var / mysql /usr/local/var/mysql.bak
instalação do [email protected]
rm -rf / usr / local / var / mysql

# ========================================
mysqld --initialize
2018-09-28T04: 54: 06.526061Z 0 [Aviso] TIMESTAMP com valor DEFAULT implícito está obsoleto. Use a opção do servidor --explicit_defaults_for_timestamp (consulte a documentação para obter mais detalhes).
2018-09-28T04: 54: 06.542625Z 0 [Aviso] Definindo lower_case_table_names = 2 porque o sistema de arquivos para / usr / local / var / mysql / não diferencia maiúsculas de minúsculas
2018-09-28T04: 54: 07.096637Z 0 [Aviso] InnoDB: Novos arquivos de log criados, LSN = 45790
2018-09-28T04: 54: 07.132950Z 0 [Aviso] InnoDB: Criando tabelas de sistema de restrição de chave estrangeira.
2018-09-28T04: 54: 07.196824Z 0 [Aviso] Nenhum UUID existente foi encontrado, portanto, assumimos que esta é a primeira vez que este servidor foi iniciado. Gerando um novo UUID: 87cf2f10-c2da-11e8-ac2d-ba163df10130.
2018-09-28T04: 54: 07.224871Z 0 [Aviso] A tabela Gtid não está pronta para ser usada. A tabela 'mysql.gtid_executed' não pode ser aberta.
2018-09-28T04: 54: 07.366688Z 0 [Aviso] O certificado CA ca.pem é autoassinado.
2018-09-28T04: 54: 07.457954Z 1 [Nota] Uma senha temporária é gerada para root @ localhost: kq3K = JR8; GqZ

# ========================================
instalação mysql_secure_urouro -p "kq3K = JR8; GqZ"
mysql_secure_installation: [Aviso] O uso de uma senha na interface da linha de comandos pode ser inseguro.

Protegendo a implantação do servidor MySQL.


A senha existente para a raiz da conta do usuário expirou. Por favor, defina uma nova senha.

Nova senha:

Re-introduza a nova palavra-passe:

VALIDAR SENHA PLUGIN pode ser usado para testar senhas
e melhorar a segurança. Verifica a força da senha
e permite que os usuários definam apenas as senhas que são
seguro o suficiente. Deseja configurar o plugin VALIDATE PASSWORD?

Pressione y | Y para Sim, qualquer outra tecla para Não: n
Usando a senha existente para root.
Alterar a senha para root? ((Pressione y | Y para Sim, qualquer outra tecla para Não): y

Nova senha:

Re-introduza a nova palavra-passe:
Por padrão, uma instalação do MySQL tem um usuário anônimo,
permitindo que qualquer pessoa efetue login no MySQL sem ter que ter
uma conta de usuário criada para eles. Isto é destinado apenas a
testes e para tornar a instalação um pouco mais suave.
Você deve removê-los antes de passar para uma produção
meio Ambiente.

Remover usuários anônimos? (Pressione y | Y para Sim, qualquer outra tecla para Não): y
Sucesso.


Normalmente, o root só deve ter permissão para se conectar a partir de
'localhost'. Isso garante que alguém não consiga adivinhar
a senha raiz da rede.

Proibir o login root remotamente? (Pressione y | Y para Sim, qualquer outra tecla para Não): n

 ... pulando.
Por padrão, o MySQL vem com um banco de dados chamado 'test' que
qualquer um pode acessar. Isso também se destina apenas a testes,
e deve ser removido antes de passar para uma produção
meio Ambiente.


Remover banco de dados de teste e acessar a ele? (Pressione y | Y para Sim, qualquer outra tecla para Não): n

 ... pulando.
Recarregar as tabelas de privilégios garantirá que todas as alterações
feito até agora entrará em vigor imediatamente.

Recarregar tabelas de privilégios agora? (Pressione y | Y para Sim, qualquer outra tecla para Não): y
Sucesso.

Tudo feito!
Edison
fonte
quando copiar todo o banco de dados de "mysql.bak" não está funcionando :(
Jahirul Islam Mamun
1

Apenas para adicionar algo às respostas anteriores - Ao atualizar do MySql 5.6 para o MySql 8.0, segui as etapas fornecidas aqui para fazer uma desinstalação limpa, mas tenho os seguintes erros

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

Levei algum tempo para descobrir. Encontre uma pista aqui: https://discourse.brew.sh/t/clean-removal-of-mysql/2251

Portanto, a chave do meu problema foi remover o arquivo /usr/local/etc/my.cnf após a desinstalação. Após esse último passo, o MySql finalmente começou a trabalhar.

Gishas
fonte
0

Eu tive o mesmo problema depois que tentei reiniciar o mysql.

Eu uso os dois aliases a seguir no meu .profile por conveniência

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

Depois de parar o mysql e tentar reiniciar, experimentei o problema que você estava tendo. Eu olhei para o launchctl load e ele estava relatando um erro "nada encontrado para carregar".

Após uma pesquisa rápida, encontrei isso ..

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

Então, eu atualizei meu mysql-startalias da seguinte forma

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

Isso resolveu meu problema, que pode ser útil para você.

Alexander Millar
fonte
2
O Brew agora suporta um servicescomando, para que eles possam ser substituídos por brew services stop mysqle brew services start mysqlrespectivamente.
Devstuff #
0

O "Caminho base" do Mysql é armazenado /etc/my.cnfe não é atualizado quando você faz a atualização. Basta abri-lo e alterar o valor com base

Por exemplo, altere isso:

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

para apontar para a nova versão:

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

Reinicie o mysql com:

mysql.server start
Bernhard Zürn
fonte