Estou recebendo esse erro ao tentar fazer login no MySQL na linha de comando:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Eu acho que isso significa que o MySQL ainda não foi iniciado. Então, eu tento iniciá-lo:
sudo /etc/init.d/mysql start
e recebo esta mensagem:
* Starting MySQL database server mysqld [fail]
Onde eu olho / o que faço para iniciar o MySQL? Estou executando o Ubuntu 8.04 e instalei o MySQL através do apt-get. Consegui começar a usá-lo algumas vezes, então não sei por que ele parou de funcionar.
Atualização: Ao executar o status do sudo /etc/init.d/mysql, recebo a mensagem:
* MySQL is stopped.
Atualização 2: Meus arquivos de log (/var/log/mysql.log & /var/log/mysql.err) estão vazios (se esses forem os corretos)
Respostas:
No Ubuntu 12.04, tive esse mesmo problema depois de alterar o tamanho do buffer no arquivo /etc/mysql/my.cnf, acho que fiquei um pouco empolgado. De qualquer forma, depois de tentar alterá-los de volta à configuração padrão, o MySQL ainda não seria iniciado.
Tentei vários métodos diferentes para resolvê-lo, notei que /var/run/mysql/mysql.sock estava ausente. Isso pode ser um problema, então você pode verificar lá e, se estiver ausente, pode substituí-lo fazendo o seguinte:
Isso NÃO resolveu o problema para mim! Mas pode ser para alguns.
O que eu tive que fazer foi reinstalar completamente o MySQL; para fazer isso, você precisará usar o comando sudo. As etapas para remover e reinstalar completamente o MySQL são as seguintes:
Remova o MySQL
Opcionalmente, você pode usar o aptitude, substituindo o apt-get --purge pelo aptitude
Limpar
Remova o diretório MySQL
Instale o MySQL
Agora o MySQL deve estar em execução, você pode verificar isso fazendo o seguinte:
Você deveria ver
Espero que isso ajude, e pensei em acrescentar, depois de fazer isso, todos os meus bancos de dados e tabelas, quando disponíveis, no entanto, tive que recriar os usuários e senhas desses bancos de dados.
Nota: Se você possui a extensão mysql para php, será necessário reinstalá-la também.
fonte
sudo touch /var/run/mysqld/mysqld.sock
e descobri isso no final do/var/log/syslog
(por exemplo, alterar para mysqld) #/var/run/mysqld
ou/var/run/mysql
?AVISO: Isso é perigoso, seu mysql NÃO estará seguro e qualquer pessoa poderá conectar, editar, etc suas tabelas, não deixe seu servidor executando com este comando.
Tente iniciá-lo no modo de segurança:
/usr/local/mysql/bin/safe_mysqld --user=mysql --skip-grant-tables
Se isso funcionar, pode haver problemas com o seu information_schema ou suas tabelas mysql. Se não funcionar, algo está errado com sua instalação.
fonte
sudo /usr/bin/mysqld_safe --user=mysql --skip-grant-tables
Verifique seus arquivos de log como nas outras respostas. Além disso, verifique se você possui o suficiente (ou qualquer espaço em disco). O MySQL pode se comportar dessa maneira em uma partição vazia.
df -h
Caso contrário, consulte os documentos do MySQL sobre a depuração de um servidor . O deles
myisamchk
(se você estiver usando o MyISAM) é particularmente útil.fonte
Também recentemente tive esse problema após atualizar o ubuntu. Ainda não tenho certeza qual é exatamente o problema. Uma solução que funcionou no momento para executar o mysql:
Isso faz funcionar, indicando que o apparmor interrompeu a execução do mysql e explicando por que os logs estão vazios provavelmente também: o mysql não teve permissão para executar.
Continua sendo um problema estranho, pois até o momento não há "reclamações" com isso
/var/log/apparmor
, e a única entrada de auditoria no kern.log é a de perseguir o perfil para o modo de reclamação.Observe que, ao fazer isso, eu também adicionei um
/etc/apparmor.d/local/usr.sbin.mysql
arquivo (vazio), pois o aa-reclamando ordenou queixa por não encontrar esse arquivo.fonte
Eu tive o mesmo problema com a minha gota de 512 MB no Digital Ocean.
Acabou que é devido à memória insuficiente.
Uma solução imediata é reiniciar outros serviços para liberar memória, por exemplo.
Então, esperançosamente, com memória suficiente, você poderá reiniciar o mysql
A solução a longo prazo é obter mais RAM ou criar memória de troca .
fonte
Dê uma olhada nos seus arquivos de log. No Debian, pelo menos, você obtém logs do mysql *
/var/log
.fonte
Teve esse mesmo problema, verifica-se que a solução estava me encarando. A viagem estava cheia. Você não recebe logs porque não há onde gravá-los ...
fonte
O mesmo problema me atormentou durante anos em um Ubuntu 12.04 Digital Ocean VPS com o mysql 5.6 instalado a partir de um PPA. Os sintomas eram os de que o arquivo mysql.sock
/var/run/mysqld/mysql.sock
seria removido, mas nunca recriado, então eu estava tendo que executar manualmente os seguintes comandos toda vez que o mysql era atualizado ou o servidor reiniciado:Esta foi a resposta de Kyle C (exceto com mysqld em vez de mysql). No final, fiz o downgrade para o mysql 5.5, que ocorre quando você normalmente executa um
sudo apt-get install mysql-server
comando. No entanto, não foi direto, então aqui está o que eu tinha que fazer:Espero que isso ajude alguém com a mesma dor.
fonte
acho que isso pode ajudar os outros ... então aqui está.
Eu queria migrar meu mysql 5.5 (padrão do ubuntu) para o novo 5.7
(queria jogar arround com o novo tipo JSON nativo)
Eu segui as instruções para instalar a versão mais recente ....
mas o MySQL não queria iniciar.
Passei algum tempo procurando e depois encontrei esta linha no
/var/log/mysql/errors.log
:unknown variable 'key_buffer=16M'
e isso é algo que
/etc/mysql/my.cnf
, durante a atualização, eu escolhi manter.Então, muito fácil depois disso:
substitui o meu
my.cnf
por umamy.cnf.dpkg-dist
versão localizada no mesmo diretório ...Então teve que correr
sudo mysql_upgrade -u root -p sudo service mysql restart
e agora o MySQL está de volta em funcionamento
fonte
Encontrou outra variação sobre o que pode estar errado. Mudei o diretório de dados e acabei esquecendo de mostrar o diretório para o usuário mysql, que também falha com nenhuma saída. Obviamente errado em retrospectiva, mas a falta de mensagem de erro torna difícil encontrar todos os problemas triviais.
fonte