Não é possível conectar via MySQL Workbench ao localhost no Ubuntu 16.04 (root sem senha)

4

O site da Oracle parece implicar que funciona apenas nos dias 15 e 14. link

Além disso, duas das minhas máquinas Ubuntu 16.04 não parecem ser capazes de se conectar (o Access é negado erros para o root)

Ele é instalado corretamente. Isso abre tudo bem. Mas não se conectará ao host local.

Alguém tem alguma sorte?

    
por Jonathan 17.05.2016 / 01:34

4 respostas

8

O problema é provavelmente devido à autenticação do soquete ser ativada para o usuário root por padrão quando nenhuma senha é configurada, durante a atualização para o 16.04. Esta importante advertência está documentada nas 16.04 notas de lançamento :

  

O comportamento de senha quando a senha raiz do MySQL está vazia foi alterada.   Empacotando agora permite autenticação de socket quando a raiz do MySQL   senha está vazia. Isso significa que um usuário não root não pode efetuar login como   Usuário root do MySQL com uma senha vazia.

Por alguma razão, o MySQL Workbench que veio com o 16.04 não funciona com o servidor MySQL, pelo menos para mim. Eu tentei usar "Local Socket / Pipe" para conectar de várias maneiras diferentes, mas sem sucesso.

A solução é reverter para a autenticação de senha nativa. Você pode fazer isso fazendo login no MySQL usando a autenticação de soquete fazendo:

sudo mysql -u root

Uma vez logado:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

que será revertido para a autenticação de senha nativa (padrão antigo). Se você tentou algum outro método para corrigir o problema, você deve certificar-se de que o campo "plugin" no mysql.user está configurado para "auth_token", que pode requerer o uso do mysqld_safe para efetuar login no MySQL no caso de você tenho mexido com as coisas, como eu fiz.

Crédito para Postagem no blog de Miguel Nieto para esta solução.

    
por Mike M 03.06.2016 / 03:46
3

O MySQL 5.7 e superior não suportam a conexão como "root" em mysql-workbench , então você deve criar um usuário normal e conectar-se por meio dele.

sudo mysql -u root -p

Crie um usuário chamado "admin" e use-o para se conectar em mysql-workbench .

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
    
por Jonathan 01.07.2016 / 23:55
2

Funciona bem para mim e eu não fiz nada de especial. Instalou mysql-server-5.7 e workbench tanto da linha de comando quanto configurou um usuário com uma senha e configurou as permissões normais do banco de dados (também com o método normal).

E com um banco de dados e uma tabela:

    
por Rinzwind 18.05.2016 / 22:01
0

Servidor MySQL no host AWS executando o Ubuntu 16.04; mysql-workbench no Ubuntu 16.04 laptop; usa a conexão do KeyPair.

Após configurar o teste, a conexão db estava funcionando. Mas a conexão real sempre falhava com uma mensagem como a postada por Jonathan Leaders. Verifiquei o log em ~/.mysql/workbench/log e encontrei algumas mensagens "permissão negada" .

Agora posso fazer com que o mysql-workbench trabalhe com: sudo mysql-workbench

E mais tarde eu posso ir e chmod os diretórios que precisam de permissão.

    
por Usman Suleman 04.03.2017 / 08:22