Por que o mysql parou de funcionar em localhost e como faço para corrigir isso?

0

Eu uso um MacBook Pro executando o Mac OS X 10.6.4

Por alguns anos eu usei o MAMP para testar sites localmente, mas de repente e sem motivo aparente quando eu inicio os servidores do MAMP, a luz do mysql fica vermelha.

Eu não estou muito bem informado sobre como realmente executar um servidor, que é a principal razão pela qual eu uso o MAMP. Eu também tenho o Sequel Pro instalado para administrar meus bancos de dados. Quando tento conectar-me ao mysql no Sequel Pro através de uma conexão de soquete, ele diz

The socket file could not be found in any common location. Please supply the correct socket location.

e depois

MySQL said: Can't connect to local MySQL server through socket 'tmp/mysql.sock' (2)

Eu posso conectar e acessar todos os meus bancos de dados se eu me conectar com o host 127.0.0.1, mas eu costumava apenas conectar através do soquete e tudo estava bem. Também todos os meus sites de teste que eu hospedei localmente não estão mais sendo processados pelo PHP.

Eu não tenho ideia de por que isso de repente parou de funcionar e qualquer luz que alguém pudesse brilhar sobre o assunto seria muito apreciada. Uma solução ainda mais.

Obrigado.

    
por MrMisterMan 17.11.2010 / 21:47

1 resposta

1

Eu odeio sugerir isso, mas dado o nível de detalhes que você forneceu, eu estou supondo que as aplicações subjacentes que o MAMP é composto são quase estranhas para você (pelo menos em termos de como elas funcionam em um nível mais baixo e como eles podem ser manipulados via configuração, etc.), então eu acredito que sua melhor aposta é desinstalar totalmente e reinstalar.

No entanto , se você estiver disposto a começar a cavar e aprender, vamos nos concentrar primeiro no MySQL, já que parece ser o seu maior problema:

  1. Confirme o que o MySQLd está fazendo, ou qualquer problema que esteja ocorrendo, verificando os logs (uma boa idéia para fornecer isso quando você estiver fazendo perguntas, para que outros possam ajudá-lo);

  2. Para encontrar os logs e / ou o arquivo de configuração que o MySQLd está usando, você precisará determinar como o MAMP está chamando o MySQL - fazer uma lista de processos é a maneira mais rápida de ver isso, usando ps (não Certifique-se do método BSD / OS X, mas algo semelhante a ps -eFw deve dar uma indicação, caso contrário, verifique o homem relevante página ), ou usando o Activity Monitor do OS X ( Applications - > Utilities );

  3. Se nenhum argumento for dado ao daemon do MySQL, então é um script de wrapper (um file /mysql/command/of/process/running deve dizer a você) que você precisará cavar para encontrar os comandos, ou ele está sendo chamado com parâmetros padrão ... caso em que o comando mysqladmin variables deve dar uma ideia de como ele está configurado;

  4. Como a opção de socket UNIX versus TCP do MySQL é configurável, sua etapa final será encontrar o arquivo de configuração (geralmente my.cnf ) e verificar se a definição de soquete está no lugar (semelhante a socket=/tmp/mysql.sock ), e uma vez confirmado, você também precisará verificar se as permissões são boas para o usuário em que o daemon do MySQL está sendo executado.

Lembre-se de que a maioria dessas etapas pode se tornar irrelevante, dependendo do conteúdo dos registros. Então, encontrá-los é de suma importância. Provavelmente o arquivo já existe ou há um problema de permissão.

    
por 18.11.2010 / 11:48