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 -proot
també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)
mysql
macos
homebrew
mysql-error-1045
Nikola
fonte
fonte
mysql -u root
e funcionou aqui: |Respostas:
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
&cleanup
command, descarregou olaunchctl
script 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 plistAtualizado 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:
Comecei do zero:
brew install mysql
executou os comandos sugeridos pelo brew: (veja a nota: abaixo)
Inicie o mysql com o
mysql.server start
comando, para poder fazer logon neleUtilizou o script de segurança alternativo:
Seguiu a
launchctl
seção da saída do script do pacote de preparação, como,Nota: o
--force
bit onbrew cleanup
també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!
fonte
launchctl: Couldn't stat("com.mysql.mysqld.plist"): No such file or directory
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
kill
qualquer processo MySQLsudo 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
/etc/hostconfig
e 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*
mysql
, não deve funcionarO Brew instala o MySQL por usuário Sedorner a partir desta resposta do StackOverflow
brew doctor
e corrija quaisquer errosbrew remove mysql
brew cleanup
brew update
brew install mysql
unset TMPDIR
mysql.server start
launchctl
que seja iniciado automaticamente na inicializaçãomysql
agora deve funcionar e estar funcionando o tempo todo, conforme o esperadoBoa Sorte Vá com Deus.
fonte
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Alguns comentários: você diz , depois de algumas etapas depois tentalaunchctl unload
esse arquivo ... mas ele não estará lá, porque você o excluiu. Além disso,brew install mysql
executei omysql_install_db
passo para mim, não há necessidade de fazê-lo duas vezes.root
nawhoami
parte de seus comandos?root
). Isso funcionou muito bem./etc/hostconfig
não existe em Yosemite e além ( superuser.com/questions/850974/… )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 root
que 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 -p
a nova senha que acabou de definir.fonte
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:
Uma senha temporária será impressa no console e só poderá ser usada para atualizar a senha root:
fonte
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.mysql
está funcionando corretamente. Pena que tive que gastar uma quantidade enorme de tempo apenas para fazê-lo funcionar em um novo Macbook. : |mysql -u root -p <temp-password>
2.ALTER USER 'root'@'localhost' IDENTIFIED BY 'New-Password';
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 :
Isso deve levar você ao mysql. Agora faça o seguinte (extraído de mysql_secure_installation):
Agora saia e volte ao mysql com:
mysql -u root -p
fonte
Eu tive o mesmo problema agora. Se você
brew info mysql
seguir as etapas, parece que a senha do root deve ser,new-password
se 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_safe
e nãoselect * from user;
retornou nenhuma linha. Abri o MySQLWorkbench com amysqld_safe
execução e adicionei umaroot
conta com todos os privs que eu esperava. Isso está funcionando bem para mim agora.fonte
Se o mysql já estiver instalado
Pare o mysql completamente.
mysql.server stop
<- pode precisar de edição com base na sua versãops -ef | grep mysql
<- lista processos com mysql em seus nomeskill [PID]
<- mata os processos por PIDRemova arquivos. As instruções acima são boas. Vou acrescentar:
sudo find /. -name "*mysql*"
rm -rf
esses 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
sudo brew update
sudo brew install cmake
<- dependência para mysql, útilsudo brew install openssl
<- dependência para mysql, útilsudo brew info mysql
<- percorra isso ... dá uma idéia do que está por virsudo 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
sudo chown -R mysql /usr/local/var/mysql/
<- o mysql não funcionaria para mim até eu executar este comandosudo mysql.server start
<- mais uma vez, a sintaxe exata pode variarfonte
informações de fermentação mysql
mysql.service start
ou mysql -u root
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.
fonte
sudo chown -R mysql /usr/local/var/mysql/
antes de executarmysql.server start
se você estiver executandomysql.server
como root (ao começar a usar o usuário root, o servidor MySQL faz o downgrade para o_mysql
usuário).brew install redis
tbhTL; DR
O servidor MySQL pode não estar em execução após a instalação com o Brew. Tente
brew services start mysql
ou apenasmysql.server start
se 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
:Diga o quê?
De acordo com as informações de instalação do Brew,
mysql_secure_installation
devo solicitar que ... proteja a instalação. Achei que o servidor MySQL talvez não estivesse funcionando e com razão. Correrbrew services start mysql
e depoismysql_secure_installation
trabalhar como um encanto.fonte
Tente dando permissão Grant Comando do mysql
fonte
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)
Trabalhou para mim. Espero que isso ajude alguém. Este foi um problema frustrante que eu senti como se estivesse preso para sempre.
fonte
brew install mysql
), você pode seguir as instruções na minha resposta stackoverflow.com/a/33924648/133106Aqui está uma atualização para o MySQL 5.7
fonte
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
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.
fonte
Eu tive o mesmo problema depois que tentei reiniciar o mysql.
Eu uso os dois aliases a seguir no meu .profile por conveniência
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-start
alias da seguinte formaIsso resolveu meu problema, que pode ser útil para você.
fonte
services
comando, para que eles possam ser substituídos porbrew services stop mysql
ebrew services start mysql
respectivamente.O "Caminho base" do Mysql é armazenado
/etc/my.cnf
e não é atualizado quando você faz a atualização. Basta abri-lo e alterar o valor com basePor exemplo, altere isso:
para apontar para a nova versão:
Reinicie o mysql com:
fonte