Estou recebendo o seguinte erro para alguns comandos que estou tentando executar E não sei a senha sempre que sou solicitado. (nota: acabei de atualizar minha distribuição do Ubuntu para 22.04, mas anteriormente não tinha uma senha definida/tinha uma senha vazia para 'root').
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)'
Parece na maioria das postagens que o problema comum é que o servidor mysql não está realmente em execução. Posso ver que o meu está funcionando sudo service mysql status
e os seguintes comandos retornam ...
$ cat /etc/services | grep 3306
mysql 3306/tcp
$ netstat -tulpn | grep 3306
(No info could be read for "-p": geteuid()=1000 but you should be root.)
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:33060 0.0.0.0:* LISTEN
Esses comandos estão apresentando o erro "Não é possível conectar...":
- mysqladmin -u root -p desligamento
- versão mysqladmin
- mysql
- mysql -u raiz
- mysql -u raiz -h localhost -p
A execução mysql -u root -h 127.0.0.1 -p
parece funcionar, pois solicita uma senha, mas nenhuma das minhas senhas anteriores está funcionando e não consegui executar sudo mysqld_safe --skip-grant-tables &
ou sudo mysqld_safe --skip-grant-tables --skip-networking &
redefinir com êxito a senha root.
Eu também já corri...
- sudo apt-get install --reinstalar servidor mysql
- atualização do sudo apt
- sudo apt atualizar
- sudo apt instalar servidor mysql
- sudo apt instalar cliente mysql
- sudo usermod -d /var/lib/mysql/ mysql
- sudo dpkg --configure -a
- e seguiu as recomendações das duas principais respostas desta postagem:https://stackoverflow.com/questions/41984956/cant-reset-root-password-with-skip-grant-tables-on-ubuntu-16
- e tentei desinstalar o MySQL seguindo as instruçõesaqui
- e tentei fazer backup da pasta sock e restaurá-la conforme recomendadoaqui
Informações aleatórias adicionais:
Eu também sei que isso /var/run/mysqld/mysqld.sock
existia anteriormente neste processo (agora só tenho mysql.bak nesse diretório), mas quando executo sudo find / -type s
, ele apenas retorna um monte de arquivos/diretórios com "Permissão negada" (presumo porque estou em WSL), então não verifiquei se poderia haver outro mysql.sock em algum lugar.
Eu também sei que isso /etc/mysql/my.cnf
está apenas apontando para -> /etc/alternatives/my.cnf
, que contém apenas o seguinte (além de alguns comentários):
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/
Responder1
- Pare o MySQL (sudo systemctl pare mysql)
- Verifique se o processo está interrompido
- Inicie o MySQL com --skip-grant-tables
Alternativamente, limpe o mysql: sudo apt purge mariadb-server mysql-common Verifique se /etc/mysql e /var/lib/mysql estão vazios/excluídos
Reinstale