Rumah  >  Artikel  >  pangkalan data  >  Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'socket_name' (111) - Cara menyelesaikan ralat MySQL: Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket (111)

Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'socket_name' (111) - Cara menyelesaikan ralat MySQL: Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket (111)

PHPz
PHPzasal
2023-10-05 08:55:59869semak imbas

Can't connect to local MySQL server through socket 'socket_name' (111) - 如何解决MySQL报错:无法通过套接字连接到本地MySQL服务器(111)

Cara menyelesaikan ralat MySQL: Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket (111), contoh kod khusus diperlukan

Semasa proses pembangunan, kami sering menghadapi masalah yang berkaitan dengan sambungan pangkalan data. Salah satu masalah biasa ialah ralat MySQL: "Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'socket_name' (111)". Mesej ralat ini bermakna pelayan MySQL tidak boleh menyambung ke localhost melalui soket yang ditentukan.

Pertama, mari kita fahami punca kesilapan ini. Apabila kami menggunakan program klien MySQL untuk menyambung ke pelayan MySQL melalui soket, jika ralat sambungan berlaku, ia biasanya disebabkan oleh sebab berikut:

  1. Pelayan MySQL tidak dimulakan: Sebelum menyambung, sila pastikan MySQL anda pelayan sedang berjalan. Anda boleh menyemak status pelayan MySQL menggunakan arahan berikut:

    service mysql status

    Jika pelayan MySQL tidak berjalan, anda boleh memulakannya menggunakan arahan berikut:

    service mysql start
  2. Nama soket untuk pelayan MySQL tidak betul: Oleh lalai, pelayan MySQL Menyimpan fail soket dalam direktori yang ditentukan. Dalam mesej ralat, 'socket_name' merujuk kepada laluan fail dan nama soket. Jika laluan atau nama soket tidak betul, pelanggan tidak akan dapat menyambung ke pelayan MySQL. Anda boleh menyemak laluan soket dengan:

    cat /etc/mysql/my.cnf

    Cari parameter "soket" dalam fail my.cnf untuk mencari laluan soket. Pastikan program klien menggunakan laluan soket yang betul.

  3. Pelayan MySQL dikonfigurasikan dengan laluan soket yang salah: Kadangkala, laluan soket yang ditetapkan dalam fail konfigurasi pelayan MySQL (my.cnf) mungkin tidak betul. Anda boleh menyemak laluan soket dalam fail my.cnf dengan:

    cat /etc/mysql/my.cnf

    Pastikan parameter "soket" dalam fail my.cnf mengandungi laluan soket yang betul.

Sekarang mari kita lihat contoh kod khusus, yang merupakan contoh menyambung ke pelayan MySQL tempatan menggunakan Python:

import mysql.connector

try:
    conn = mysql.connector.connect(user='root', password='your password', host='localhost', port='3306', database='your database name')
    print("Successfully connected to MySQL server")
except mysql.connector.Error as err:
    if err.errno == 2003:
        print("Can't connect to local MySQL server through socket 'socket_name' (111)")
    else:
        print(err)

Dalam contoh ini, kami menggunakan modul mysql.connector Python untuk menyambung ke pelayan MySQL. Kami menyediakan nama pengguna, kata laluan, nama hos, nombor port dan nama pangkalan data yang betul. Jika sambungan gagal, kami menangkap pengecualian mysql.connector.Error dan semak sama ada kod ralat err.errno ialah 2003. Jika ya, kami mencetak mesej ralat tertentu.

Perlu diingatkan bahawa ini hanyalah contoh kod, anda perlu melaraskan parameter dan kaedah pengendalian ralat mengikut situasi sebenar.

Ringkasnya, apabila menghadapi ralat MySQL: "Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'socket_name' (111)", langkah pertama ialah memastikan pelayan MySQL sedang berjalan. Kemudian, semak laluan soket dan laluan soket dalam fail konfigurasi. Akhir sekali, lakukan pengendalian ralat yang sepadan mengikut kod ralat tertentu.

Semoga artikel ini dapat membantu anda menyelesaikan masalah sambungan MySQL. Saya doakan anda berjaya dalam menyelesaikan tugas pembangunan anda!

Atas ialah kandungan terperinci Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket 'socket_name' (111) - Cara menyelesaikan ralat MySQL: Tidak dapat menyambung ke pelayan MySQL tempatan melalui soket (111). 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