Pelayan MySQL telah hilang - Cara menyelesaikan ralat MySQL: Sambungan pelayan MySQL terputus, contoh kod khusus diperlukan
#🎜🎜 #Pengenalan -
MySQL ialah sistem pengurusan pangkalan data hubungan sumber terbuka yang popular yang digunakan secara meluas untuk penyimpanan data bahagian belakang dan pengurusan tapak web dan aplikasi. Walau bagaimanapun, apabila menggunakan MySQL, anda kadangkala menghadapi ralat "Pelayan MySQL telah hilang", yang bermaksud bahawa sambungan antara pelayan MySQL dan klien telah diputuskan. Artikel ini menerangkan cara menyelesaikan masalah ini, termasuk contoh kod khusus.
Analisis sebab-
Apabila sambungan antara pelayan MySQL dan klien terputus, mungkin terdapat sebab berikut:
#🎜 🎜#2.1 Tamat masa sambungan: Apabila pelayan MySQL tidak menerima sebarang data daripada klien dalam julat masa yang ditetapkan, sambungan akan ditutup secara automatik. Ini mungkin disebabkan oleh isu rangkaian atau tamat masa sambungan disebabkan oleh beban pelayan yang tinggi.
2.2 Data terlalu besar: Jika jumlah data yang hendak dipindahkan melebihi had maksimum yang dibenarkan oleh pelayan MySQL, pelayan MySQL boleh menutup sambungan secara aktif.
2.3 Masalah konfigurasi pelayan: Beberapa parameter konfigurasi pelayan MySQL mungkin menyebabkan sambungan ditutup, seperti parameter max_allowed_packet terlalu kecil.
Solution
- Untuk menyelesaikan ralat "MySQL server has gone away", kita boleh mengambil langkah berikut:
#🎜🎜 #3.1 Tingkatkan tamat masa: Anda boleh meningkatkan tamat masa dengan mengubah suai fail konfigurasi pelayan MySQL dan klien. Contohnya, dalam fail konfigurasi my.cnf pelayan MySQL, tingkatkan nilai parameter wait_timeout kepada nilai yang lebih besar, dalam beberapa saat.
3.2 Tingkatkan nilai parameter max_allowed_packet: Jika data terlalu besar dan sambungan ditutup, ia boleh diselesaikan dengan meningkatkan nilai parameter max_allowed_packet. Dalam fail konfigurasi my.cnf pelayan MySQL, tingkatkan nilai parameter max_allowed_packet kepada saiz yang sesuai, seperti 100M.
3.3 Pengesanan degupan jantung tetap: Untuk memastikan sambungan jangka panjang aktif, mesej degupan jantung boleh dihantar ke pelayan MySQL dengan kerap. Berikut ialah contoh kod yang ditulis dalam Python:
import mysql.connector
config = {
'user': 'username',
'password': 'password',
'host': 'localhost',
'database': 'database_name',
'raise_on_warnings': True,
}
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
# 执行心跳查询
query = "SELECT 1"
cursor.execute(query)
# 关闭游标和连接
cursor.close()
cnx.close()
Salin selepas log masuk
Kod di atas menggunakan modul mysql.connector untuk menyambung ke pelayan MySQL dan mengeluarkan pertanyaan mudah untuk memastikan sambungan ke pelayan aktif.
3.4 Semak beban pelayan: Jika tamat masa sambungan disebabkan oleh beban pelayan yang tinggi, pertimbangkan untuk mengoptimumkan pertanyaan dan indeks, atau gunakan penyelesaian pangkalan data yang diedarkan.
Ringkasan
- Apabila menggunakan MySQL, anda mungkin menghadapi ralat "Pelayan MySQL telah hilang", termasuk tamat masa sambungan, konfigurasi pelayan Yamato limpahan data isu dan sebab lain. Untuk menyelesaikan ralat ini, kami boleh meningkatkan tamat masa, melaraskan nilai parameter max_allowed_packet, melakukan pengesanan degupan jantung biasa dan mengoptimumkan beban pelayan. Kami berharap penyelesaian dan contoh kod yang disediakan dalam artikel ini dapat membantu pembaca menyelesaikan masalah pemutusan sambungan MySQL.
Atas ialah kandungan terperinci Pelayan MySQL telah hilang - Cara menyelesaikan ralat MySQL: Sambungan pelayan MySQL terputus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!