Xampp: não pode se conectar ao mysql do terminal

1

Eu adicionei export PATH=$PATH:/opt/lampp/bin/ ao meu arquivo ~/.zshrc . Eu posso acessar o php, mas sempre que eu digito sudo mysql -uroot vejo a seguinte mensagem:

  

ERROR 2002 (HY000): Não é possível conectar ao servidor MySQL local através de socket '/var/run/mysqld/mysqld.sock' (2)

Eu posso, no entanto, acessar o mysql definindo caminho completo como este: sudo /opt/lampp/bin/mysql -uroot . Mas eu não quero isso ... Quer dizer, eu teria que digitar a toda caminho completo ou criar um alias ou link simbólico.

Estou no Ubuntu 16.04 e usando o zshell.

    
por Eisenheim 01.02.2018 / 07:09

1 resposta

1

Você tem duas versões do mysql instaladas - uma dos repositórios do Ubuntu e uma de algum local de terceiros. Quando você usa a versão Ubuntu, localizada em /usr/bin/mysql ela tenta se conectar através de um socket no local padrão, /var/run/mysqld/mysqld.sock , o que não funciona, pois o servidor em execução não é o servidor mysql do Ubuntu.

Funciona quando você executa /opt/lampp/bin/mysql -uroot (nenhuma razão para executar isso como root, a propósito), porque este binário mysql tem o caminho padrão configurado para onde o socket atual está.

Você tem três alternativas:

  1. Modifique seu caminho para que /opt/lampp/bin/ is before / usr / bin / 'esteja no caminho. Isto irá executar a versão lampp do mysql antes da versão do Ubuntu.
  2. Desinstale o cliente mysql do Ubuntu com sudo apt-get remove mysql-client . Isso pode quebrar outros pacotes.
  3. Desinstale o lampp e instale os pacotes necessários do Ubuntu.

# 3 seria a minha solução preferida. A obtenção de todo o software dos repositórios garante que ele seja mantido atualizado, seja (principalmente) compatível e tenha um caminho de atualização claro e bem definido para a próxima versão do Ubuntu.

Apache, PHP, Mysql / MariaDB e muitos módulos do Apache estão disponíveis nos repositórios do Ubuntu.

    
por vidarlo 01.02.2018 / 08:46