export PATH=$PATH:/opt/lampp/bin/
を~/.zshrc
ファイルに追加しました。 phpにアクセスできますが、Sudo mysql -uroot
と入力するたびに、次のメッセージが表示されます。
エラー2002(HY000):ソケット「/var/run/mysqld/mysqld.sock」を介してローカルMySQLサーバーに接続できません(2)
ただし、Sudo /opt/lampp/bin/mysql -uroot
のようなフルパスを定義することでmysqlにアクセスできます。しかし、私はそれを望んでいません...絶対パスを毎回入力するか、エイリアスまたはシンボリックリンクを作成する必要があるということです。
私はUbuntu 16.04でzshellを使用しています。
2つのバージョンのmysqlがインストールされています-1つはUbuntuリポジトリから、もう1つはサードパーティの場所から。 /usr/bin/mysql
にあるUbuntuバージョンを使用すると、実行中のサーバーがUbuntuストックmysql-serverではないため、動作しないデフォルトの場所/var/run/mysqld/mysqld.sock
でソケットに接続しようとします。
このmysqlバイナリには実際のソケットがあるデフォルトのパスが設定されているため、/opt/lampp/bin/mysql -uroot
(ルートとして実行する理由はありません)を実行すると機能します。
次の3つの選択肢があります。
/opt/lampp/bin/ is before
/usr/bin/`が含まれるようにパスを変更します。これにより、Ubuntuバージョンの前にmysqlのlamppバージョンが実行されます。Sudo apt-get remove mysql-client
を使用してUbuntu mysqlクライアントをアンインストールします。これにより、他のパッケージが破損する場合があります。#3が私の推奨ソリューションです。リポジトリからすべてのソフトウェアを取得すると、最新の状態に保たれ、(ほぼ)互換性があり、次のUbuntuリリースへの明確で明確なアップグレードパスが確保されます。
Apache、PHP、Mysql/MariaDB、および多くのApacheモジュールがUbuntuリポジトリで利用可能です。