O servidor MySql não reconhece a senha correta

2

Instalei o servidor MySql no Ubuntu 14.04 LTS. Eu tenho experiência anterior também.

Mas sempre que eu fizer login, usando mysql -u root -p e depois de digitar a senha, ele diz:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Eu digitei a senha correta. A mesma coisa aconteceu dias atrás, mas depois eu removi completamente o mysql e o reinstalei novamente.

Também tentei reiniciar o servidor mysql, mas não ajuda!

Alguém por favor pode ajudar?

    
por Sam 01.01.2015 / 05:35

2 respostas

3

Sempre leia o conteúdo de /usr/share/doc/ nome-pacote / dos pacotes que você instalou. Eles contêm informações importantes para usar e administrar pacotes.

Portanto, para mysql-server-5.5 , há informações importantes em /usr/share/doc/mysql-server-5.5/README.Debian.gz . Como é gzip ped, é conveniente usar zmore para lê-lo.

Lá você pode ver que você pode usar o usuário debian-sys-maint para acessar o banco de dados para administração. Assim como root use o arquivo de configuração /etc/mysql/debian.cnf para efetuar login como aquele usuário. Observe que você NUNCA deve alterar a senha desses usuários, a menos que você também os altere no arquivo debian.cnf . Se não, o mysql irá parar de funcionar.

Então, para alterar a senha do usuário root , tente isso.

$ sudo mysql --defaults-file=/etc/mysql/debian.cnf
mysql> UPDATE mysql.user SET Password=PASSWORD('*secret*') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ mysql -u root -p

Se você pode usar a senha *secret* para fazer o login como usuário root , você conseguiu alterar a senha para root .

  

Observe que esse uso do usuário debian-sys-maint só funciona para distribuições baseadas no Debian.

     

Observe também que, se você também tiver o pacote dbconfig-common instalado e configurado para armazenar a senha root (consulte /etc/dbconfig/config ), será necessário reconfigurar esse pacote para que ele saiba a senha para administrar seus bancos de dados para outros pacotes .

Por último, uma boa informação também pode ser lida em Debians Wiki e na versão gratuita Os administradores de sistemas reservam

    
por Anders 02.01.2015 / 03:50
2

Primeiro, pare o servidor mysql

 sudo service mysql stop

Execute o seguinte comando que iniciará o servidor novamente e ignorará as tabelas de permissões que armazenam as senhas.

 mysqld_safe --skip-grant-tables

O servidor mysql deve começar agora. Em seguida, entramos na raiz sem uma senha.

 mysql -u root 

Em seguida, pressione Enter

Agora nós executamos os seguintes comandos no mysql para redefinir a senha

 update user set 
 Password=PASSWORD('new-password')
 where user='root';
 flush privileges;
 exit;

Agora reinicie o servidor mysql

 sudo service mysql restart 

Agora você deve conseguir fazer o login com a senha que acabou de definir

 mysql -u root -p

Pressione enter e você deverá receber uma solicitação de senha de root e ela deverá ser aceita.

    
por geoffmcc 01.01.2015 / 16:01