Por alguma razão, o MySQL parou de dar acesso ao root. Desinstalado e reinstalado com o Homebrew. Nova instalação, novas tabelas, mas quando eu entro
mysql -u root -p
Eu recebo este erro:
Acesso negado para o usuário 'root' @ 'localhost' (usando senha: NÃO)
Reinstalei o MySQL cinco vezes, mas ainda está pedindo uma senha. Como faço para corrigir isso?
mysql_secure_installation
e responder às perguntas feitas, simplesmysql -u root
trabalhou aqui ...Respostas:
Basta executar este comando (onde
NEWPASS
está sua senha):Eu tive o mesmo erro e corrigi-lo desta forma.
fonte
$
char no início de um comando shell de linha de comando. Outros podem ficar confusos porque o$
sinal é freqüentemente usado como um marcador de prompt de shell no SO e em outros fóruns. Mas a falta de espaço entre o$
e(
deve indicar às pessoas também.$(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
Nenhum desses funcionou para mim. Acho que já tinha o mysql em algum lugar do meu computador, então uma senha foi definida lá ou algo assim. Depois de passar horas tentando todas as soluções disponíveis, isto funcionou para mim:
todo o crédito para @Ghrua
fonte
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOURNEWPASSWORD';
para definir sua nova senha de root.Caso você tenha inadvertidamente configurado e esquecido a senha de root, e não queira limpar todos os seus bancos de dados e começar de novo porque você é preguiçoso e esqueceu de ter uma solução de backup e está usando uma instalação bastante recente do Homebrew (Inverno de 2013), aqui estão as etapas para redefinir sua senha do MySQL.
Pare a instância do MySQL em execução
Agora inicie o mysql manualmente, pulando as tabelas de permissões e rede
Observe que se quando você executar echo $ (brew --prefix mysql) e ele não responder como "/ usr / local / opt / mysql" no bash, você precisará ajustar o caminho de acordo.
Depois de fazer isso, você deve ter uma instância do MySQL em execução e desprotegida.
Faça login e defina a senha
No prompt, insira o seguinte comando MySQL para definir uma nova senha para o usuário afetado.
Se tudo corresse como planejado, deveria dizer:
Saia do prompt do MySQL.
Parar servidor:
Agora, vamos colocar de volta o daemon de inicialização para que tenhamos nosso MySQL pronto novamente:
Parabéns. Você acabou de redefinir sua senha de root do mysql. Sirva-se de um café e instale uma solução de reserva!
fonte
mysqladmin -u root shutdown
password
não era uma coluna válida no mysql 5.7.9. Em vez disso, tive que usarauthentication_string
. O resto das instruções funcionou perfeitamente. Obrigado!update user set authentication_string=password('new_password_here') where user='root';
update mysql.user set authentication_string=password('none') where user='root';
para que funcionasse. (Como o comentário acima de mim, mas precedermysql.
auser
.)Eu tive o mesmo problema alguns dias atrás. Acontece quando você instala
mysql
viahomebrew
e executa o script de inicialização (mysql_install_db
) antes de iniciar omysql
daemon.Para corrigir isso, você pode excluir
mysql
arquivos de dados, reiniciar o serviço e, em seguida, executar o script de inicialização:fonte
mysqld --initialize
No such file or directory
quando executo o primeiro comando.Recebi este erro após instalar o mysql via home brew.
Portanto, primeiro remova a instalação. Em seguida, reinstale via Homebrew
Em seguida, reinicie o serviço mysql
Em seguida, execute este comando para definir sua nova senha de root.
Finalmente, ele pedirá para recarregar os privilégios. Diga sim. Em seguida, faça login no mysql novamente. E use a nova senha que você definiu.
fonte
mysql_secure_installation
mas a parte principal eramysql.server restart
Se você correr
também o login com conta root falha:
então, o usuário admin padrão é criado com o mesmo nome de usuário da sua conta do MacOS , por exemplo, johnsmit .
Para fazer o login como root, emita:
fonte
Isso funcionou para mim:
fonte
Acabei de notar algo comum à maioria das respostas aqui e confirmei em minha nova instalação. É realmente óbvio se você olhar as recomendações para executar
mysqladmin -u root
sem-p
.Não há senha.
Brew configura o mysql com apenas um usuário root e nenhuma senha. Isso faz sentido, eu acho, mas as advertências pós-instalação nem mencionam isso.
fonte
Tente
sudo
evitar o erro "Acesso negado":sudo $(brew --prefix mariadb)/bin/mysqladmin -u root password NEWPASS
fonte
Espero que isto ajude.
fonte
Como a pergunta foi feita / respondida há muito tempo, essas respostas principais não funcionam para mim. Aqui está minha solução, em 2020.
Histórico : Fresh mysql / mariadb instalado por homebrew.
Problema : a senha do root não está vazia e é desconhecida.
A correção :
O motivo :
fonte
Executar essas linhas no terminal funcionou para mim e para várias outras pessoas que tiveram o mesmo problema. Essas instruções são listadas no terminal após o brew instalar o mysql com sucesso.
onde
YOURPASSWORD
é a senha do root.fonte
No such file or directory
quando executo esses comandosVerifique se você não tem um .my.cnf escondido em seu homedir. Esse era o meu problema.
fonte
Isso funcionou para mim para o MAC https://flipdazed.github.io/blog/osx%20maintenance/set-up-mysql-osx
Inicie o mysql executando
brew services iniciar mysql
Execute o script de instalação
mysql_secure_installation
Você será solicitado a definir um plugin de configuração VALIDATE PASSWORD. Digite y para fazer isso.
Selecione a validação de senha necessária (realmente não importa se é apenas você usando o banco de dados)
Agora selecione y para todas as opções restantes: Remover anon. Comercial; proibir logins de root remotos; remover banco de dados de teste; recarregar tabelas de privilégios. Agora você deve receber uma mensagem de
All done!
fonte
Isso funcionou para mim. Espero que isso funcione para você também !!! Siga-os.
fonte
rm -rf /usr/local/var/mysql/
comando excluirá todos os bancos de dados e dados do Mysql em seu computador!A senha padrão quando você instala o mysql via brew é root, tente isso, funcionou para mim
mysql -uroot -proot
fonte
brew info mysql
: Instalamos seu banco de dados MySQL sem uma senha de root. Para protegê-lo, execute: mysql_secure_installationTerminal 1:
Terminal 2:
fonte
Estou usando Catalina e uso este
mysql_secure_installation
comando e agora funciona para mim:eu entro
root
como senha atuale fazer o resto
fonte
Então, caso alguém tenha a mesma situação e configuração que eu e também esteja prestes a enlouquecer - funcionou para mim .
Depois de uma longa história, eu tinha um MariaDB instalado com o brew que reiniciava automaticamente quando eu matei seu processo (isso foi feito pelo brew), que tinha uma senha de root, o que eu fiz não conhecia.
$ brew services list
Isso mostra algo como:
mariadb started jdoe /path/to/homebrew.mxcl.mariadb.plist
Pare o servidor MySQL com:
$ brew services stop mariadb
Então comece novamente sem o usuário root (e sem usar brew):
$ mariadbd --skip-grant-tables &
Aqui,
mysql_secure_installation
não funcionou para mim por causa do--skip-grant-tables
, e não funcionaria sem o--skip-grant-tables
porque precisava da senha (que eu não tinha).Tentar
$(brew --prefix mysql)/bin/mysqladmin -u root password hunter2
apenas retornou erros estranhos e não fez nada;$(brew --prefix mariadb)/bin/mysqladmin -u root password hunter2
também não funcionou, deu erros diferentes e sugestões que não funcionaram para mim.Mas você pode entrar no mysql agora sem credenciais:
$ mysql
Aqui, o método antigo de atualização da tabela do usuário para root não funciona porque a "coluna 'Senha' não é atualizável".
O novo método usos
alter user
Mas só funciona depois de ter feitoflush privileges;
de modo que fazer em primeiro lugar.Então:
MariaDB [(none)]> alter user 'root'@'localhost' identified by 'hunter2';
(
MariaDB [(none)]>
é o prompt do MySQL aqui)Então faça
flush privileges;
novamente.Saia do cliente MySQL.
Agora, no que diz respeito ao brew, MariaDB ainda não está funcionando, então use
$ ps aux | grep -i mariadb
para encontrar o pid e$ kill -9 <pid>
ele.Em seguida, use
$ brew services start mariadb
para reiniciá-lo.fonte
Use o arquivo init para iniciar o mysql para alterar a senha do root.
Sua senha de root foi alterada. Certifique-se de desligar o servidor corretamente para salvar a alteração da senha. Na nova janela do terminal, execute
e insira seu novo passe.
Inicie seu serviço e remova o arquivo init
Testado no mysql versão 8.0.19
fonte