3

Corrigindo erro de conexão com mysql.sock

7 Flares Facebook 2 Twitter 3 Google+ 0 LinkedIn 1 Pin It Share 1 StumbleUpon 0 7 Flares ×

Resolvendo problema de socket no mysql

Escrevo esse post mais pra ter um acesso rápido a este tutorial, do que para promover o blog.

O problema

Por Diversas vezes isso já ocorreu comigo, sempre na instalação de um novo servidor, ou maquina pessoal. Instalo o mysql, e na hora de conectar:

A solução

Simples e fácil, procure o arquivo de configuração, my.cnf, tenha certeza que ele é o arquivo de configuração mesmo.

Faça um backup dele, para evitar qualquer problema. O meu como uso ubuntu está em /etc/mysql/my.cnf

Edite o arquivo você provalvemente obterá as seguintes linhas:

Verifique se o usuário que está tendo o erro, tem permissão de leitura do /var/run/mysqld/mysqld.sock

Se não possuir, dê a devida permissão.


MySQL + PHP

Caso você esteja tentando se conectar com o php. E está recebendo o erro, pode ser que no seu php.ini esteja fixo um socket.

Para resolver basta abrir o php.ini

Este caminho pode variar de acordo com o php você esteja utilizando, no meu caso eu uso lighttpd com php-cgi, e este é o caminho padrão.

Para quem não conhecia está forma de utilizar o php, ou não conhecia o lighttpd, pode dar uma olha aqui:Habilitando PHP no lighttpd sem dificuldades. Habilite, e veja como o fastcgi pode ser muito mais rápido.

Após abrir o arquivo, procure por mysql.default_socket coloque o caminho correto, ou deixe em branco.

Qual a utilidade?

A diferença de velocidade entre a conexão é bem grande, se você passar o caminho direto do socket se conectará bem mais rápido, principalmente se esse socket estiver em tmpfs.

Pra quem não conhece o que é o tmpfs, pode saber mais neste link:Melhorando a performance do linux

Referências

mysql – http://www.mysql.com/
php – http://www.php.net/
php – stackoverflow

7 Flares Facebook 2 Twitter 3 Google+ 0 LinkedIn 1 Pin It Share 1 StumbleUpon 0 7 Flares ×

Vinicius Muniz

Desenvolvedor php, administrador de servidores, fã de linux. Trabalho na empresa Netmake, na produção do software Scriptcase, e como administrador da empresa de hospedagem Hoo.st.

3 Comments

  1. Aqui no meu servidor, o arquivo mysqld.sock não existe. O que fazer?

    • Abre o arquivo de configuração do mysql my.cnf e procura por mysqld.sock.
      Dessa forma você achará o caminho, então é só criar o link.

      O arquivo my.cnf pode variar a localização de distribuição para distribuição.
      Os mais comuns são:

      • /etc/my.cnf
      • /etc/mysql/my.cnf

      Na dúvida executa

Deixe uma resposta