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:
- 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. - Desinstale o cliente mysql do Ubuntu com
sudo apt-get remove mysql-client
. Isso pode quebrar outros pacotes. - 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.