Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Sambungan MySQL Saya Gagal dengan 'Tiada Fail atau Direktori Sebegitu' di Terminal?

Mengapa Sambungan MySQL Saya Gagal dengan 'Tiada Fail atau Direktori Sebegitu' di Terminal?

DDD
DDDasal
2024-12-11 08:16:10505semak imbas

Why Does My MySQL Connection Fail with

Menyambung melalui Soket Unix: Menyelesaikan Ralat "Tiada Fail atau Direktori Sebegitu"

Menghadapi ralat "Amaran: mysql_connect(): [2002 ] Tiada fail atau direktori sedemikian (cuba menyambung melalui unix:///tmp/mysql.sock) dalam" apabila cuba menyambung ke pangkalan data MySQL dari Terminal boleh membingungkan. Walaupun skrip mungkin berfungsi dengan baik apabila dilaksanakan daripada penyemak imbas, Terminal menghadapi masalah.

Memahami Isu

Pada macOS, konfigurasi MySQL kadangkala boleh tersilap mengenal pasti lokasi fail soket. Soket mungkin wujud sama ada dalam /tmp/mysql.sock atau /var/mysql/mysql.sock, tetapi aplikasi boleh mencarinya di lokasi yang salah.

Menyelesaikan Ralat

Syukurlah, penyelesaiannya adalah mudah dan melibatkan penyediaan pautan simbolik. Jika /tmp/mysql.sock ada tetapi /var/mysql/mysql.sock tiada, laksanakan arahan berikut:

cd /var
sudo mkdir mysql
sudo chmod 755 mysql
cd mysql
sudo ln -s /tmp/mysql.sock mysql.sock

Sebaliknya, jika /var/mysql/mysql.sock wujud tetapi /tmp /mysql.sock tidak, gunakan ini arahan:

cd /tmp
ln -s /var/mysql/mysql.sock mysql.sock

Dengan mencipta pautan simbolik, Mac boleh mencari soket yang diperlukan, tidak kira di lokasi mana ia mencari.

Atas ialah kandungan terperinci Mengapa Sambungan MySQL Saya Gagal dengan 'Tiada Fail atau Direktori Sebegitu' di Terminal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn