J'ai ajouté export PATH=$PATH:/opt/lampp/bin/
à mon fichier ~/.zshrc
. Je peux accéder à php mais chaque fois que je tape Sudo mysql -uroot
je vois le message suivant:
ERREUR 2002 (HY000): Impossible de se connecter au serveur MySQL local via le socket '/var/run/mysqld/mysqld.sock' (2)
Je peux cependant accéder à mysql en définissant un chemin complet comme ceci: Sudo /opt/lampp/bin/mysql -uroot
. Mais je ne veux pas ça ... Je veux dire, je devrais taper le chemin complet à chaque fois ou créer un alias ou un lien symbolique.
Je suis sur Ubuntu 16.04 et utilise zshell.
Vous avez installé deux versions de mysql - une à partir de référentiels Ubuntu et une à partir d’un emplacement tiers. Lorsque vous utilisez la version Ubuntu, située dans /usr/bin/mysql
, elle tente de se connecter via un socket situé à l'emplacement par défaut, /var/run/mysqld/mysqld.sock
, qui ne fonctionne pas car le serveur en cours d'exécution n'est pas le serveur stock mysql Ubuntu.
Cela fonctionne lorsque vous exécutez /opt/lampp/bin/mysql -uroot
(aucune raison de l'exécuter en tant que root, d'ailleurs), car ce binaire mysql a un chemin par défaut défini à l'emplacement où se trouve le socket actuel.
Vous avez trois alternatives:
/opt/lampp/bin/ is before
/usr/bin/`dans chemin. Ceci exécutera la version lampp de mysql avant la version Ubuntu.Sudo apt-get remove mysql-client
. Cela peut casser d'autres paquets.# 3 serait ma solution préférée. Obtenir tous les logiciels des référentiels garantit leur mise à jour, leur compatibilité (la plupart du temps) et leur mise à niveau claire et bien définie vers la prochaine version Ubuntu.
Apache, PHP, Mysql/MariaDB et de nombreux modules Apache sont disponibles dans les référentiels Ubuntu.