Pengecualian JDBC: Tidak Dapat Menyambung ke Pelayan Pangkalan Data MySQL
Apabila cuba menyambung ke pelayan pangkalan data MySQL menggunakan JDBC, anda mungkin menghadapi pengecualian berikut:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
Salin selepas log masuk
Ralat ini menunjukkan bahawa ralat yang tidak dijangka berlaku semasa membuat sambungan ke pangkalan data.
Punca:
Yang paling banyak punca biasa pengecualian ini ialah versi yang tidak serasi antara MySQL Connector/J dan pelayan pangkalan data MySQL. Khususnya, versi lama MySQL Connector/J mungkin tidak serasi dengan MySQL 8.0 atau lebih baru.
Penyelesaian:
Untuk menyelesaikan isu ini, ikut langkah berikut:
-
Tingkatkan MySQL Connector/J: Pastikan anda menggunakan versi MySQL Connector/J yang serasi dengan versi pelayan MySQL anda. Untuk MySQL 8.0, anda harus menggunakan MySQL Connector/J 5.1.46 atau lebih tinggi, atau - sebaik-baiknya - 8.0.11 atau lebih tinggi.
-
Mulakan semula pelayan pangkalan data: Setelah anda menaik taraf MySQL Connector /J, mulakan semula pelayan pangkalan data MySQL untuk memastikan perubahan berkuat kuasa.
-
Sahkan parameter sambungan: Semak semula parameter sambungan yang dinyatakan dalam kod anda, termasuk URL pangkalan data, nama pengguna , dan kata laluan. Pastikan ia betul dan anda mempunyai kebenaran yang diperlukan untuk mengakses pangkalan data.
-
Semak tembok api pangkalan data: Jika anda mempunyai tembok api yang didayakan pada sistem anda, sahkan bahawa port yang digunakan oleh pelayan MySQL (biasanya 3306) dibuka untuk sambungan.
Penyelesaian Masalah Tambahan:
Jika langkah di atas tidak menyelesaikan isu, anda boleh mencuba berikut:
-
Dayakan pengelogan verbose: Tambahkan parameter berikut pada URL pangkalan data anda untuk mendayakan pengelogan verbose dan dapatkan mesej ralat yang lebih terperinci: &log=true.
- Periksa surih tindanan: Surih tindanan pengecualian mungkin memberikan cerapan tambahan tentang punca ralat.
-
Hubungi sokongan MySQL: Jika anda masih tidak dapat menyelesaikan masalah isu, anda mungkin perlu menghubungi sokongan MySQL untuk mendapatkan bantuan lanjut.
Atas ialah kandungan terperinci MySQLNonTransientConnectionException: Mengapa Saya Tidak Boleh Menyambung ke Pelayan Pangkalan Data MySQL Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!