Eu sou um engenheiro elétrico que brinca principalmente com sistemas de energia em vez de programação. Recentemente, tenho acompanhado um manual para instalar um pacote de software no Ubuntu. mySQL
Na verdade, eu não tenho conhecimento nenhum . Eu fiz as seguintes instalações no meu Ubuntu.
sudo apt-get update
sudo apt-get install mysql-server-5.5
sudo apt-get install mysql-client-5.5
sudo apt-get install mysql-common
sudo apt-get install glade
sudo apt-get install ntp
Então eu faço
me@ubuntu:~/Desktop/iPDC-v1.3.1/DBServer-1.1$ mysql -uroot -proot <"Db.sql"
Acabei com a seguinte mensagem de erro.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Como posso corrigi-lo e continuar?
Respostas:
Nota: Para o MySQL 5.7+ , consulte a resposta do @Lahiru para esta pergunta. Que contém informações mais atuais.
Para MySQL <5.7:
A senha raiz padrão está em branco (isto é, sequência vazia) não
root
. Para que você possa fazer login como:Obviamente, você deve alterar sua senha root após a instalação
Na maioria dos casos, você também deve configurar contas de usuário individuais antes de trabalhar extensivamente com o banco de dados também.
fonte
-p
sinalizador especifica a senha; portanto, depois de alterar sua senha root, você gostariamysql -u root -p[newpassword]
. O< [filename]
está usando a entrada std para executar um arquivo SQL no caminho fornecido através da credencial do usuário que você fornece.mysqladmin -u root password abc1234
, mas conseguimysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)'
. Muito obrigado!Consegui resolver esse problema executando esta declaração
O que alterará a senha root.
fonte
dpkg --get-selections | grep sql
para obter a sua versãoyum list installed
add| grep sql
para filtrar apenas pacotes SQL.sudo: dpkg-reconfigure: command not found
. Alguma sugestão?Você precisa redefinir a senha! etapas para mac osx (testado e funcionando) e ubuntu
Pare o MySQL usando
ou
Inicie no modo de segurança:
(a linha acima é o comando inteiro)
Este será um comando em andamento até que o processo seja concluído; portanto, abra outra janela do shell / terminal, faça o login sem uma senha:
Conforme comentário do @ IberoMedia, para versões mais recentes do MySQL, o campo é chamado
authentication_string
:Inicie o MySQL usando:
ou
sua nova senha é 'senha'.
fonte
--skip-grant-tables
em conjunto com--skip-networking
para impedir a conexão de clientes remotos. Ah, e também, este não funcionou para mim. É por isso que eu vim aqui: p--
O que eu sugeriria é usardpkg --get-selections | grep mysql-server-
para obter sua versão exata do MySQL, e então vá para sudo dpkg-reconfigure mysql-server-5.x (substitua 5 .x com a versão do servidor, btw). Comentei a resposta de @ Divz com essa precisão, mas é mascarada pelos vários comentários de agradecimento.Eu sei que isso é uma pergunta antiga, mas acho que isso pode ajudar alguém. Recentemente, fui confrontado com o mesmo problema, mas no meu caso, lembro-me muito bem da minha senha, mas ela continuou me dando o mesmo erro. Eu tentei tantas soluções, mas ainda assim nenhuma ajudou, então eu tentei isso
após o que pede uma senha como esta
e então digitei a senha que usei. Isso é tudo
fonte
Na inicialização inicial do servidor, acontece o seguinte, uma vez que o diretório de dados do servidor está vazio:
Para revelá-lo, use o seguinte comando:
Altere a senha root assim que possível, efetuando login com a senha temporária gerada e defina uma senha personalizada para a conta do superusuário:
fonte
sudo grep 'temporary password' /var/log/mysqld.log
eu recebo/var/log/mysqld.log: No such file or directory
sudo grep 'temporary password' /var/log/mysql/error.log
. A solução @Lahiru funcionou para mim.shell> sudo grep 'password' /var/log/mysql/error.log
. Trabalhou para mim, mas eu recebo: root @ localhost é criado com uma senha vazia! Por favor, considere desativar a opção --initialize-insecure. Minha versão mysql é: Ver 8.0.13 para Linux em x86_64 (MySQL Community Server - GPL)se o problema persistir, tente forçar a alteração do passe
Configurar nova senha de usuário root do MySQL
Pare o servidor MySQL:
Inicie o servidor MySQL e teste-o:
fonte
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
também estava atormentando meu servidor. 'mysqld_safe' também falhou até que eu fiz um 'killall mysqld' APÓS seu Passo 1.--skip-grant-tables
em conjunto com--skip-networking
para impedir a conexão de clientes remotos. Ah, e também, este não funcionou para mim. É por isso que eu vim aqui: pIsso acontece quando sua senha está ausente.
Etapas para alterar a senha quando você se esquecer:
Pare o servidor MySQL (no Linux):
Inicie o banco de dados sem carregar as tabelas de concessão ou ativar a rede:
Oe comercial no final deste comando fará com que esse processo seja executado em
segundo plano, para que você possa continuar usando seu terminal e executar #mysql -u root, não solicitará senha.
Se você receber um erro como o abaixo:
2018-02-12T08: 57: 39.826071Z O diretório mysqld_safe '/ var / run / mysqld' para o
arquivo de soquete UNIX não existe. mysql -u root ERRO 2002 (HY000): Não é possível conectar ao servidor MySQL local através do soquete
'/var/run/mysqld/mysqld.sock' (2) [1] + Saída 1
Crie o diretório de serviço do MySQL.
Dê ao usuário do MySQL permissão para gravar no diretório de serviço.
Execute o mesmo comando na etapa 2 para executar o mysql em segundo plano.
Execute mysql -u root e você obterá o console mysql sem digitar a senha.
Execute estes comandos
Para MySQL 5.7.6 e mais recente
Para MySQL 5.7.5 e mais antigo
Se o comando ALTER USER não funcionar, use:
Agora saia
Para parar a instância iniciada manualmente
Reinicie o mysql
fonte
sudo kill `sudo cat /var/run/mysqld/mysqld.pid`
Me deparei com esse problema muito chato e encontrei muitas respostas que não funcionaram. A melhor solução que encontrei foi desinstalar completamente o mysql e reinstalá-lo. Na reinstalação, você define uma senha root e isso corrige o problema.
Encontrei esse código em outro lugar, portanto não aceito crédito por ele. Mas funciona. Para instalar o mysql depois de desinstalá-lo, acho que o oceano digital tem um bom tutorial. Confira minha essência para isso.
https://gist.github.com/JamesDaniel/c02ef210c17c1dec82fc973cac484096
fonte
Estou usando o Ubuntu-16.04: mysql instalado - 5.7. Eu tive o mesmo problema: Login negado para o usuário root.
Tentei as etapas abaixo:
dpkg --get-selections | grep mysql
(para obter a versão do mysql).dpkg-reconfigure mysql-server-5.7
mysql -u root -p
Sem -p, isso não solicita a senha. Depois de entrar, você pode criar um usuário com uma senha, seguindo as etapas:
Saia da raiz e faça login a partir do que você deu acima.
Por alguma razão, apenas digitar o mysql não funciona. EM ABSOLUTO. Sugiro criar um hábito de usar
mysql -u <name> -p
.fonte
basta entrar no terminal
mysql -u raiz -p. do que ele pedirá uma senha para você
fonte
Se nenhuma das outras respostas funcionar para você e você recebeu este erro:
Siga os comandos abaixo passo a passo até redefinir sua senha:
fonte
$ sudo cat /etc/mysql/debian.cnf
Isso mostrará detalhes como-
# Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = debian-sys-maint password = GUx0RblkD3sPhHL5 socket = /var/run/mysqld/mysqld.sock
Acima, podemos ver a senha, apenas vamos usá-la
(GUx0RblkD3sPhHL5)
no promptmysql -u debian-sys-maint -p Enter password:
agora forneça a senha ( GUx0RblkD3sPhHL5 ).
Agora
exit
no MySQL e faça o login novamente como-mysql -u root -p Enter password:
Agora forneça uma nova senha. É tudo, temos uma nova senha para outros usos.
Funcionou para mim, espero ajudá-lo também!
fonte
Por favor, leia a documentação oficial: Mysql: Como redefinir a senha root
Se você tiver acesso ao terminal:
MySQL 5.7.6 e posterior:
MySQL 5.7.5 e versões anteriores:
fonte
> mysql -u {your_username}
Estou usando o mysql-5.7.12-osx10.11-x86_64.dmg no Mac OSX
O processo de instalação configura automaticamente uma senha temporária para o usuário root. Você deve salvar a senha. A senha não pode ser recuperada.
Siga as instruções
cd /usr/local/mysql/bin/
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('{YOUR_PASSWORD}');
se você deseja definir sua senha: "root", o comando seria:SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
exit
./mysql -u root -p
Por conveniência, você deve adicionar
"/usr/local/mysql/bin"
ao seu PATHAgora, de qualquer lugar, você pode digitar
./mysql -u root -p
e digitar a senha, e você receberá o prompt do mysql>.Espero que ajude.
fonte
A resposta pode parecer boba, mas depois de perder horas, é assim que eu faço isso funcionar
Recebi a mensagem de erro
Mesmo que eu estivesse digitando a senha correta (a senha temporária que você obtém quando instala o mysql)
Acertei quando digitei a senha quando o prompt da senha estava piscando
fonte
se o problema persistir, tente forçar a alteração do passe
Pare o servidor MySQL (no Linux):
Pare o servidor MySQL (no Mac OS X):
Inicie o daemon mysqld_safe com --skip-grant-tables
Configurar nova senha de usuário root do MySQL
Pare o servidor MySQL (no Linux):
Pare o servidor MySQL (no Mac OS X):
Inicie o serviço do servidor MySQL e teste para fazer login pela raiz:
fonte
Por senha padrão, será nulo; portanto, você deve alterar a senha seguindo as etapas abaixo.
conectar ao mysql
root # mysql
Use o mysql
mysql> update user set password = PASSWORD ('root') onde User = 'root'; Por fim, recarregue os privilégios:
privilégios do mysql> flush; mysql> sair
fonte
Apenas uma linha e resolveu meu problema.
fonte
No Ubuntu 16.04 (MySQL versão 5.7.13), consegui resolver o problema com as etapas abaixo:
Siga as instruções na seção B.5.3.2.2 Redefinindo a senha root: Sistemas de Unix e Unix-Like Systems Manual de referência do MySQL 5.7
Quando tentei #sudo mysqld_safe --init-file = / home / me / mysql-init e falhou. O erro estava em /var/log/mysql/error.log
2016-08-10T11: 41: 20.421946Z 0 [Nota] A execução do arquivo init_ / home / me / mysql / mysql-init 'foi iniciada. 2016-08-10T11: 41: 20.422070Z 0 [ERRO] / usr / sbin / mysqld: O arquivo '/ home / me / mysql / mysql-init' não foi encontrado (código de erro: 13 - permissão negada) 2016-08-10T11: 41: 20.422096Z 0 [ERRO] Interrompendo
A permissão de arquivo do mysql-init não era o problema, é necessário editar a permissão do apparmor
Editar por #sudo vi /etc/apparmor.d/usr.sbin.mysqld
#Sudo /etc/init.d/apparmor recarrega
Inicie o mysqld_safe novamente, tente a etapa 2 acima. Verifique /var/log/mysql/error.log, verifique se não há erro e se o mysqld foi iniciado com êxito
Execute #mysql -u root -p
Digite a senha:
Digite a senha que você especificou no mysql-init. Você deve conseguir fazer login como root agora.
Shutdown mysqld_safe por #sudo mysqladmin -u root -p shutdown
Inicie o modo normal do mysqld por #sudo systemctl start mysql
fonte
Se você tiver o MySQL como parte de uma imagem do Docker (por exemplo, na porta 6606) e uma instalação do Ubuntu (na porta 3306), especificar a porta não é suficiente:
jogará:
como ele está tentando se conectar ao localhost por padrão, a especificação do seu IP local corrige o problema:
fonte
Nas versões recentes do MySQL, não há
password
namysql.user
tabela.Então você precisa executar
ALTER USER
. Coloque este comando de uma linha no arquivo.E execute-o como arquivo init (como usuário root ou mysql)
O servidor MySQL precisa ser parado para iniciar
mysqld_safe
.Além disso, pode haver um problema com as permissões do apparmor para carregar este arquivo init. Leia mais aqui https://blogs.oracle.com/jsmyth/entry/apparmor_and_mysql
fonte
Se você ainda não definiu a senha, execute
mysql -uroot
: funciona para mim.fonte
No Mac, se você tiver um problema ao fazer login com a primeira senha que recebeu na instalação, talvez você possa simplesmente matar o processo mysql e tentar.
Então: 1- execute o seguinte comando para encontrar o PID do mysql:
2- mate o processo:
Então você pode fazer login com a senha inicial usando este comando:
O qual solicita que você digite sua senha. Basta digitar a senha inicial.
fonte
Eu tive uma questão semelhante:
Mas no meu caso, a causa foi realmente boba. Copiei o comando de um documento do Word e o problema era que um hífen não tinha o código ASCII 2D, mas o Unicode E28093.
Caminho errado:
Caminho certo:
Ambos têm a mesma aparência, mas não são iguais (experimente, copie e cole substituindo sua senha).
Diante desse tipo de erro, a recomendação é tentar digitar o comando em vez de copiar e colar.
fonte
Tentei com a resposta correta do @Lahiru, mas não funcionou com o servidor MySQL versão 8.0.16 (Comunidade) no macOS Mojave.
Segui as instruções de Sameer Choudhary acima e com alguns ajustes, consegui alterar a senha do root e habilitar o acesso root do host local.
Atualização: tudo isso não é necessário, se você estiver instalando no Mac OS usando o homebrew: "brew install mysql"
fonte
Eu tive esse problema com o Ubuntu 18.04 LTS e o Mysql Server versão 5.7.27-0ubuntu0.18.04.1 (Ubuntu).
Minha solução foi (executando como root com
sudo -i
)fonte
Eu também me deparei com o mesmo problema, o que fiz foi
1) Abra seu cmd
2) Navegue para C: \ Arquivos de Programas \ MySQL \ MySQL Server 8.0 \ bin> (onde o MySQL Server 8.0 pode ser diferente dependendo do servidor que você instalou)
3) Em seguida, coloque o seguinte comando mysql -u root -p
4) Solicitarei a senha ... simplesmente pressione enter, pois às vezes a senha que você digitou durante a instalação é alterada para em branco.
agora você pode simplesmente acessar o banco de dados
Esta solução funcionou para mim na plataforma Windows
fonte
Enquanto a resposta principal (w / mysqladmin) funcionava no mac 10.15, não funcionava no ubuntu. Então tentei muitas das outras opções, incluindo inicialização segura para mysql, nenhuma funcionou. Adicionando assim uma nova resposta.
Pelo menos para a versão que eu obtive
5.7.28-0ubuntu0.18.04.4
respostas estavam faltandoIDENTIFIED WITH mysql_native_password
. 5.7.28 é o padrão no LTS atual e, portanto, deve ser o padrão para a maioria dos novos sistemas novos (até 20.04 o LTS sair).Encontrado: https://www.digitalocean.com/community/questions/can-t-set-root-password-mysql-server e agora aplicado
o que funciona.
fonte
O erro que eu enfrentei foi
houve um problema com a porta em execução.
Por padrão, o mysql está sendo executado
port 3306
.Você pode verificar isso executando
em um sistema de 32 bits:
sudo /opt/lampp/manager-linux.run
em um sistema de 64 bits:
sudo /opt/lampp/manager-linux-x64.run
e clique no
configure
botãoNo meu caso, a porta estava rodando no 3307 e o comando que usei foi
fonte
No meu caso, eu estava tentando passar um Conchacomando para um contêiner. Nesse caso, apenas a primeira palavra foi interpretada. Verifique se você não está executando:
em oposição a:
talvez tente citar:
fonte