Rumah >pangkalan data >tutorial mysql >Mengapa Saya Tidak Boleh Menyambung ke MySQL melalui Soket Unix?
Tidak Dapat Menyambung ke MySQL melalui Unix Socket: Tidak Dapat Menyambung ke MySQL melalui Soket 'MySQL' (2)
Apabila menyambung ke MySQL menggunakan kelas mysqli PHP dan menyatakan "localhost" sebagai hos, anda menghadapi mesej ralat "Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'MySQL' (2)." Ini menunjukkan isu dengan soket Unix yang digunakan untuk sambungan tempatan.
Memahami Sambungan Localhost
Secara lalai, perpustakaan klien MySQL menggunakan soket domain Unix untuk menyambung ke pelayan MySQL tempatan apabila hos ditentukan sebagai "host tempatan." Walau bagaimanapun, jika soket tidak boleh diakses atau tidak wujud, anda akan menghadapi ralat ini.
Pilihan Penyelesaian Masalah
Untuk menyelesaikan isu ini, anda mempunyai beberapa pilihan:
mysqli.default_socket = /var/run/mysqld/mysqld.sock
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')
Dengan menyatakan soket secara langsung, anda mengatasi lalai Konfigurasi soket Unix.
Dalam kes anda, kerana anda hanya boleh menyambung melalui 127.0.0.1, menggunakan Pilihan 1 adalah disyorkan. Jika anda perlu membenarkan sambungan tapak web luaran, anda harus mencipta pengguna baharu dengan keistimewaan yang sesuai dan menggunakan TCP/IP (Pilihan 1) untuk sambungan jauh.
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menyambung ke MySQL melalui Soket Unix?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!