Ubuntu 15.10 erro de mysql 1524 - unix_socket

37

No Ubuntu 15.10, em um ponto (talvez depois de uma instalação e remoção de mariadb), o mysql era incapaz de operar. As tarefas estão em alta, mas o servidor está inoperante.

No comando:

mysql -u root -p

a resposta do sistema é semelhante a:

mysql "ERROR 1524 (HY000): Plugin 'unix_socket' is not loaded"

Nenhuma maneira de logar, nenhum plugin encontrado, nenhum erro nos arquivos de configuração (todos para o padrão).

Como voltar ao controle e executar o servidor mysql?

    
por Hydra Starmaster 03.12.2015 / 12:51

2 respostas

70

O "unix_socket" foi chamado pelo processo de autenticação do mysql (talvez relacionado a uma migração parcial do banco de dados para o mariadb, agora removido). Para recuperar todas as coisas, vá em su:

sudo su

siga:

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -uroot

Isto irá parar completamente o mysql, ignorar a autenticação do usuário (sem senha necessária) e conectar-se ao mysql com o usuário "root".

Agora, no console mysql, vá usando o db administrativo mysql:

use mysql;

Para redefinir a senha do root para mynewpassword (altere-a conforme desejar), apenas para ter certeza:

update user set password=PASSWORD("mynewpassword") where User='root';

E este substituirá o método de autenticação, remova a solicitação unix_socket (e tudo mais), restaurando um método de senha normal e de trabalho:

update user set plugin="mysql_native_password";

Saia do console do mysql:

quit;

Pare e inicie tudo relacionado ao mysql:

/etc/init.d/mysql stop
kill -9 $(pgrep mysql)
/etc/init.d/mysql start

Não se esqueça de exit o modo su.

Agora o servidor mySQL está em funcionamento. Você pode acessá-lo com root:

mysql -u root -p

ou o que você quiser. O uso da senha está operacional.

É isso.

    
por Hydra Starmaster 03.12.2015 / 13:16
10

Aqui estão os meus passos para fazer isso:

/etc/init.d/mysql stop
sudo killall mysqld_safe
sudo killall mysqld
sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set password=PASSWORD("mynewpassword") where User='root';
update user set plugin="mysql_native_password";
quit;
/etc/init.d/mysql stop
sudo kill -9 $(pgrep mysql)
/etc/init.d/mysql start
    
por Roy Yan 26.01.2016 / 15:36

Tags