Duas opções:
Primeiro é limpar o mysql (somente se você ainda não tiver um banco de dados):
Use
apt-get purge mysql-server
para eliminar e, em seguida,
apt-get install mysql-server
para simplesmente reinstalá-lo. Ao instalá-lo, você deve pedir uma senha. Esta é a maneira mais fácil e rápida, porém pode ocorrer problemas se alguns programas como o phpmyadmin já estiverem conectados ao MySQL existente, então eu sugiro que você use o
Ou faça o seguinte: Pare o servidor MySQL usando
sudo service mysql stop
Em seguida, inicie o modo de segurança com
sudo /usr/bin/mysqld_safe --skip-grant-tables &
Selecione localhost como host (Após o último comando, não haverá um prompt de comando, portanto, após a mensagem Starting mysqld daemon with databases from [...]
type no próximo comando)
mysql -h localhost
selecione o mysql com
USE mysql
(Substitua YOURNEWPASSWORD pela sua nova senha!) Digite
UPDATE mysql.user
SET authentication_string=PASSWORD('new_password')
WHERE usuário = 'root' E host = 'localhost';
Saia com
quit
E reinicie o MySQL com
sudo mysqladmin shutdown
sudo service mysql start
Editar
Esse erro tem algo a ver com o seu soquete MySQL. Primeiro você quer encontrar todos os arquivos de socket em seu sistema com:
sudo find / -type s
Seu soquete deve ser algo semelhante a este
/var/lib/mysql/mysql.sock
(importante é a parte /mysql.sock
)
Quando você encontrar o local onde o soquete está sendo aberto, adicione ou edite a linha ao seu
/etc/my.cnf
arquivo com o caminho para o arquivo de soquete:
colocar
[mysqld]
no começo e
socket=/path/to/your/socket/
no final do arquivo.
Experimente novamente a opção 2. agora. Se não funcionar, continue com esta explicação.
Se isto não resolver o seu problema, algo substitui a localização my.cnf, e isso resultaria em um socket não encontrado onde o arquivo my.cnf indica que deveria ser. Então, quando você tentar executar o cliente de linha de comando mysql, ele lerá my.cnf para localizar o soquete, mas ele não o encontrará, já que ele se desvia de onde o servidor criou um. Então, a menos que você se importe onde o soquete reside, basta alterar o my.cnf para corresponder.
Para corrigir isso, inicie com o encerramento do mysqld
process
pkill -9 mysqld
Depois de fazer isso, você pode querer procurar por um arquivo pid em / var / run / mysqld / e deletá-lo
Certifique-se de que as permissões no seu socket sejam tais que qualquer usuário que esteja executando o mysqld possa ler / gravar nele. Um teste fácil é abri-lo para ler / escrever e ver se ainda funciona:
chmod 755 /var/run/mysqld/mysqld.sock
Fontes: