Rumah >pangkalan data >tutorial mysql >Mengapa Saya Tidak Boleh Menyambung ke MySQL pada Localhost dengan PyMySQL?

Mengapa Saya Tidak Boleh Menyambung ke MySQL pada Localhost dengan PyMySQL?

DDD
DDDasal
2024-11-04 11:51:12828semak imbas

Why Can't I Connect to MySQL on Localhost with PyMySQL?

Masalah Menyambung ke MySQL dengan PyMySQL pada Localhost

Apabila cuba mewujudkan sambungan ke MySQL pada localhost menggunakan PyMySQL:

<code class="python">import pymysql
conn = pymysql.connect(db='base', user='root', passwd='pwd', host='localhost')</code>

Seseorang mungkin menghadapi ralat berikut:

socket.error: [Errno 111] Connection refused
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' (111)")

Masalah ini berterusan merentas kedua-dua Python 2.7 dan Python 3.2, walaupun MySQL berjalan seperti yang disahkan oleh sambungan yang berjaya melalui arahan mysql atau phpMyAdmin. Selain itu, coretan kod yang hampir sama berfungsi menggunakan MySQLdb dalam Python 2.

Potensi Penyelesaian

Dua kemungkinan penjelasan untuk isu ini:

  1. Lokasi Soket: Gunakan pembolehubah mysqladmin | soket grep untuk mengenal pasti lokasi soket dan menyambung menggunakan:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', unix_socket="/tmp/mysql.sock")</code>
  1. Penugasan Port: Semak sama ada port ditetapkan kepada 3306 menggunakan pembolehubah mysqladmin | pelabuhan grep. Jika ia berbeza, nyatakan port dalam sambungan secara manual:
<code class="python">pymysql.connect(db='base', user='root', passwd='pwd', host='localhost', port=XXXX)</code>

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menyambung ke MySQL pada Localhost dengan PyMySQL?. 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