como obter o arquivo mysql.sock, erroneamente deletado de “/ mysql / tmp /”

3

Eu estava preso a uma exceção do PDO

PDOException: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in lock_may_be_available() (line 167 of home/../includes/lock.inc).

Para resolver isso, tentei recriar o link simbólico usando o comando. Estou trabalhando no servidor linux.

 ln -s /home/../mysql/tmp/mysql.sock /tmp/mysql.sock

quando executada a instrução sql acima, não houve alteração com a exceção PDO. E mais tarde, eu apaguei por engano o arquivo mysql.sock em "/home/../mysql/tmp/" (não em "/ tmp").

Agora, como posso voltar ou recriar o arquivo mysql.sock ? E anyidea sobre a exceção do PDO, como resolvê-lo.

    
por GIRI 01.08.2014 / 02:37

2 respostas

10
vi /etc/mysql/my.cnf

Você encontrará as linhas abaixo do topo no seu arquivo de configuração

[client]
port            = 3306
socket          = /var/run/mysqld/mysqld.sock

Certifique-se de que o mysqld.sock está onde deveria estar. Não gosto do caminho na sua mensagem de erro "/tmp/mysql.sock"

Como você está aqui, também procure esta linha

bind-address            = 127.0.0.1

Se você estiver tentando se conectar de um local remoto, comente esta linha.

Tente se conectar localmente (de um terminal no servidor)

mysql -u root -p

Se a segurança não é uma preocupação para você (ou seja, seu servidor pessoal não é um ambiente multiusuário), você também pode garantir que o arquivo seja legível por qualquer pessoa

chmod a+r /var/run/mysqld/mysqld.sock

Todos os itens acima devem resolver seus problemas de conectividade. Para obter o arquivo, você poderia fazer uma nova instalação do servidor mysql.

apt-get purge mysql-server
apt-get install mysql-server

Ou você pode baixar o pacote mysql-server .deb extraí-lo e você deve encontrá-lo em algum lugar lá. Equivalente .rpm se você estiver usando RHL.

Editar: Como você copiou arquivos em volta, talvez a propriedade do arquivo tenha mudado para root, verifique isso também (com ls-la / path). Owner deve ser mysql group mysql. Não consigo pensar em mais nada.

    
por 01.08.2014 / 11:13
-1

Tem que alterar o arquivo de configuração httpd.conf valor da raiz

Anteriormente, foi Listen : 0.0.0.0:80. alterei para Listen: 0.0.0.0:8080 - alterei a raiz para seus quatro dígitos de valor mais alto (1024, 8008, 9999 etc) e reiniciei o apache server e o mysql . Bem, funcionou.

E à minha pergunta: mysql.sock file é um arquivo de soquete que será criado automaticamente quando o servidor MySql for reiniciado

Por fim, meu problema foi resolvido.

    
por 01.08.2014 / 17:39