Estou continuamente recebendo esse erro.
Estou usando o mySQL Workbench e pelo que estou descobrindo é que os privilégios de esquema do root são nulos. Não há privilégios em tudo.
Estou tendo problemas nas plataformas para as quais meu servidor é usado e isso tem sido um problema repentino.
[email protected] aparentemente tem muito acesso, mas estou logado assim, mas ele apenas atribui ao localhost de qualquer maneira - localhost não tem privilégios.
Eu fiz algumas coisas como FLUSH HOSTS
, FLUSH PRIVILEGES
etc, mas não tive sucesso com isso ou na Internet.
Como posso obter acesso ao root de volta? Acho isso frustrante porque quando eu olho em volta as pessoas esperam que você "tenha acesso", mas eu não tenho acesso, então não posso entrar na linha de comando ou qualquer coisa eGRANT
eu mesmo nada.
Ao executar SHOW GRANTS FOR root
isto é o que recebo em troca:
Código de erro: 1141. Não existe tal concessão definida para o usuário 'root' no host '%'
fonte
SHOW GRANTS FOR root
em uma consulta, poste o resultado em sua pergunta.Respostas:
Use as instruções para redefinir a senha do root - mas em vez de redefinir a senha do root, iremos inserir à força um registro na tabela mysql.user
No arquivo init, use isso
fonte
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Tudo está onde deveria estar e o que você colocou acima, coloquei no arquivo de acordo. Eu também interrompi o serviço. Acabei de receber esta saída: prntscr.com/1ilxau E tudo (plug-ins) desligamento. Muito confuso.ERROR 1054 (42S22): Unknown column 'Password' in 'field list'
erro. @AndyJonesSe você tiver o mesmo problema no MySql 5.7. +:
é porque o MySql 5.7 por padrão permite a conexão com o soquete, o que significa que você apenas conecta com
sudo mysql
. Se você executar sql:então você vai ver:
Para permitir a conexão com root e senha, atualize os valores na tabela com o comando:
Em seguida, execute o comando select novamente e você verá que ele mudou:
E é isso. Você pode executar este processo depois de executar e concluir o
sudo mysql_secure_installation
comando.Para mariadb, use
para definir a senha. Mais em https://mariadb.com/kb/en/set-password/
fonte
auth_socket
paramysql_native_password
corrigiu meu problema. Obrigado!mysql_secure_installation
. Muito obrigado por esta resposta.Ele não gostou do meu privilégio de usuário, então eu o SUDO. (em bash << sudo definir usuário e senha) (fornece o nome de usuário do root e define a senha para nada) (no Mac)
fonte
Tente os seguintes comandos
fonte
sudo mysqld_safe
consegui isso/var/run/mysqld for UNIX socket file don't exists
, depoismkdir -p /var/run/mysqld
esudo chown -R mysql:mysql /var/run/mysqld/
funcionou e começou o daemon.para as pessoas que estão enfrentando erros abaixo na versão do mysql 5.7+ -
Abra um novo terminal
sudo /etc/init.d/mysql stop
... MySQL Community Server 5.7.8-rc está paradosudo mysqld_safe --skip-grant-tables &
isto irá pular todos os privilégios de nível de concessão e iniciar o mysql em modo de segurança Às vezes o processo travou apenas por causa degrep: erro de gravação: pipe quebrado 180102 11:32:28 mysqld_safe Logging para '/var/log/mysql/error.log'.
Basta pressionar Ctrl + Z ou Ctrl + C para interromper e sair do processo
mysql -u root
Bem-vindo ao monitor MySQL. Os comandos terminam com; ou \ g. Seu ID de conexão MySQL é 2 Versão do servidor: 5.7.8-rc MySQL Community Server (GPL)
Copyright (c) 2000, 2015, Oracle e / ou suas afiliadas. Todos os direitos reservados.
Oracle é uma marca registrada da Oracle Corporation e / ou de suas afiliadas. Outros nomes podem ser marcas registradas de seus respectivos proprietários.
Digite 'help;' ou '\ h' para obter ajuda. Digite '\ c' para limpar a instrução de entrada atual.
use mysql;
Lendo as informações da tabela para completar os nomes das tabelas e colunas Você pode desligar este recurso para obter uma inicialização mais rápida com -A
Banco de dados alterado
mysql>
update user set authentication_string=password('password') where user='root';
Query OK, 4 linhas afetadas, 1 aviso (0,03 seg) Linhas correspondidas: 4 Alteradas: 4 Avisos: 1mysql>
flush privileges;
Query OK, 0 linhas afetadas (0,00 seg)mysql>
quit
tchausudo /etc/init.d/mysql stop
..180102 11:37:12 mysqld_safe mysqld do arquivo pid /var/run/mysqld/mysqld.pid finalizado. * MySQL Community Server 5.7.8-rc interrompido arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * MySQL Community Server 5.7.8-rc iniciado
mysql -u root -p
Digite a senha:
Bem-vindo ao monitor MySQL. Os comandos terminam com; ou \ g. Seu ID de conexão MySQL é 2 Versão do servidor: 5.7.8-rc MySQL Community Server (GPL)
após a versão do mysql 5.7+, a senha da coluna substituída pelo nome authentication_string da tabela mysql.user.
espero que essas etapas ajudem alguém, obrigado.
fonte
Eu estava usando o ubuntu 18 e simplesmente instalei o MySQL (senha: root) com os seguintes comandos.
Quando tentei fazer o login com o usuário normal do Ubuntu, esse problema estava me ocorrendo.
Mas consegui acessar o MySQL por meio do superusuário. Usando os comandos a seguir, consegui fazer login por meio de um usuário normal.
Então você deve conseguir fazer o login no Mysql com a conta normal.
fonte
Uma maneira simples de redefinir a senha root em sistemas Linux:
Verifique alguns outros motivos para acesso negado:
https://dev.mysql.com/doc/refman/5.7/en/problems-connecting.html
fonte
Se você está recebendo esse erro no Workbench, mas consegue fazer login no terminal, siga estas etapas.
Primeiro, basta fazer login com sua senha atual:
Em seguida, altere sua senha porque ter uma senha de baixo nível dá erro às vezes.
Em seguida, basta sair e fazer login novamente com sua nova senha:
Depois de fazer login com sucesso, digite o comando:
Deve mostrar uma mensagem como 'Banco de dados alterado' e digite:
Depois desse tipo:
Em seguida, digite:
Em seguida, basta sair:
Agora tente fazer o login com sua nova senha em sua BANCADA. Espero que funcione. Obrigado.
fonte
Eu enfrentei este problema ao instalar o Testlink no servidor Ubuntu, segui estes passos
Agora pare a instância e comece novamente, ou seja
fonte
Bem, a maneira mais fácil de redefinir a senha root é:
reinicie a opção mysqld --skip-grant-tables . Isso permite que qualquer pessoa se conecte sem uma senha e com todos os privilégios. Por ser inseguro, você pode querer usar --skip-grant-tables em conjunto com --skip-networking para evitar que clientes remotos se conectem.
Conecte-se ao servidor mysqld com este comando:
shell> mysql Emita as seguintes instruções no cliente mysql. Substitua a senha pela senha que você deseja usar.
mysql> UPDATE mysql.user SET Password = PASSWORD ('MyNewPass') -> WHERE User = 'root'; mysql> FLUSH PRIVILEGES;
Pare o servidor e reinicie-o normalmente (sem as opções --skip-grant-tables e --skip-networking).
Fonte da documentação do Mysql e experiência pessoal:
http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html
fonte
no mysql 5.7 o campo de senha foi substituído por authentication_string, então você faria algo assim
Veja este link O banco de dados do usuário MySQL não possui colunas de senha - Instalando o MySQL no OSX
fonte
Resolvi o mesmo problema executando o Workbench como administrador.
... Acho que é por causa de restrições aos computadores da empresa, no meu caso ...
fonte
Experimente os seguintes passos para resolver este problema:
mysqld --console
.171010 14:58:22 [Note] --secure-file-priv
está definida como NULL. As operações relacionadas à importação e exportação de dados são desabilitadas, após a execução do comando acima no prompt de comando.mysqld
está bloqueado pelo Firewall do Windows ou outro programa.mysqld
oumysql
, siga as etapas abaixo:wf.msc
para abrir as configurações do firewall.mysqld
oumysqld
estão disponíveis na lista e marque a caixa de seleção do domínio, público e privado, e salve as configurações.Deve ser possível executar o console MySQL sem problemas agora!
fonte
Resolvi o mesmo problema usando o próximo sql e reiniciando o servidor MySQL:
fonte
Trabalhei em Acesso negado para o usuário 'root' @ 'localhost' (usando a senha: SIM) por várias horas, encontrei a seguinte solução,
fonte
Não acho que você precise escapar do
--init-file
parâmetro:"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt
Deveria estar:
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\mysql-init.txt
fonte
para o problema acima, sua senha no sistema deve coincidir com a senha que você passou no programa porque quando você executa o programa ele verifica a senha do sistema assim que você atribuiu o root como um usuário então dá um erro e ao mesmo tempo o registro não é excluído do banco de dados.
Mantenha a senha do seu sistema como jacob234 e execute o código.
fonte
Comigo estava o mesmo problema, mas foi causado, porque eu estava usando o servidor mysql em 32 (bit) e o workbench rodava em versão 64 (bit). o servidor e o ambiente de trabalho precisam ter a mesma versão.
xpress
fonte
Para mim, eu estava usando MYSQLWorkbench e a porta era 3306 MAMP usando 8889
fonte
Eu estava enfrentando o mesmo problema ao tentar conectar o banco de dados Mysql usando o aplicativo Laravel. Eu gostaria de recomendar que verifique a senha do usuário. A senha do MySQL não deve ter caracteres especiais como # , & , etc ...
fonte