Não consegue mais entrar no MySQL como root?

8

Parece que não consigo mais entrar no MySQL (na verdade, MariaDB) como usuário root no Ubuntu 15.04 (atualizei de 14.04 para 14.10)

Eu já tentei redefinir a senha.

O que está funcionando, é sudo mysql - mas quero fazer login como root de outro usuário usando mysql -uroot -p . Quando eu crio um novo usuário com direitos e senha completos, está funcionando.

Alguma coisa mudou?

    
por Alex 09.09.2015 / 09:54

1 resposta

7

Então, você foi da versão 5.5.44-1ubuntu0.14.04.1 to 10.0.20-0ubuntu0.15.04.1 . Parece mais assustador do que é, isso é apenas o que eles chamavam de 5.6 por algum motivo .

Parece que versões mais recentes do MariaDB adicionaram um plugin à tabela de usuários para forçar a autenticação através de um caminho fixo. Nesse caso, o usuário do banco de dados root é forçado a usar o unix_socket plugin . Isso também parece ser conhecido como auth_socket em alguns círculos.

De qualquer forma, este plugin restringe as coisas, portanto, apenas o sistema root user pode efetuar login como o banco de dados root , sem senha. É uma escolha de segurança que eles fizeram.

Você pode reverter isso anulando o campo de plug-in para o root user :

shell$ sudo mysql -u root

[mysql] use mysql;
[mysql] update user set plugin='' where User='root';
[mysql] flush privileges;

Uma senha especificada deve funcionar depois disso. Eu não tenho certeza como isso é aconselhável embora.

    
por Oli 09.09.2015 / 10:23