Я добавил export PATH=$PATH:/opt/lampp/bin/
к моему ~/.zshrc
файл. Я могу получить доступ к php, но каждый раз, когда я ввожу sudo mysql -uroot
Я вижу следующее сообщение:
ОШИБКА 2002 (HY000): не Может соединиться с локальным сервером MySQL через сокет '/var/run/mysqld/mysqld.sock' (2)
Я могу однако, доступ mysql путем определения полного пути как это: sudo /opt/lampp/bin/mysql -uroot
. Но я не хочу это... Я подразумеваю, что должен был бы ввести полный путь каждый раз или создать псевдоним или символьную ссылку.
Я нахожусь на Ubuntu 16.04 и использующий zshell.
У Вас есть две версии установленного mysql - один из репозиториев Ubuntu и один от некоторого стороннего местоположения. Когда Вы используете версию Ubuntu, расположенную в /usr/bin/mysql
это пытается соединить канавку сокет в месте по умолчанию, /var/run/mysqld/mysqld.sock
, который не работает, потому что выполнение сервера не является mysql-сервером запаса Ubuntu.
Это работает, когда Вы работаете /opt/lampp/bin/mysql -uroot
(никакая причина выполнить это как корень, между прочим), потому что этот mysql двоичный файл имеет набор пути по умолчанию туда, где фактический сокет.
У Вас есть три альтернативы:
/opt/lampp/bin/ is before
/usr/bin /' в пути. Это выполнит lampp версию mysql перед версией Ubuntu.sudo apt-get remove mysql-client
. Это может повредить другие пакеты.3. Было бы мое предпочтительное решение. Получение всего программного обеспечения из репозиториев гарантирует, что будет усовершенствовано, будет (главным образом) совместимо, и иметь ясную, четко определенную процедуру обновления к следующему Релизу Ubuntu.
Apache, PHP, Mysql/MariaDB и много апачских модулей доступны в репозиториях Ubuntu.