Rumah >Java >javaTutorial >Mengapa Saya Mendapat Ralat \'java.sql.SQLException: Access Denied\' Semasa Menyambung ke MySQL?

Mengapa Saya Mendapat Ralat \'java.sql.SQLException: Access Denied\' Semasa Menyambung ke MySQL?

DDD
DDDasal
2024-10-25 03:19:02393semak imbas

Why Am I Getting a

Mengakses MySQL dengan Kebenaran Pengguna Tidak Mencukupi: Menangani "java.sql.SQLException: Access Denied"

Menghadapi pengecualian "java.sql. SQLException: Akses ditolak" semasa menyambung ke pangkalan data MySQL melalui Java boleh mengecewakan. Ralat ini biasanya menunjukkan bahawa pengguna yang cuba menyambung tidak mempunyai kebenaran yang sesuai untuk mengakses pangkalan data.

Dalam kes anda, pengecualian timbul daripada coretan kod berikut:

<code class="java">Connection m_connection = DriverManager.getConnection("jdbc:mysql://localhost", "root", "root");</code>

Percubaan kod untuk mewujudkan sambungan ke pangkalan data MySQL yang berjalan pada localhost menggunakan pengguna "root" dengan kata laluan "root". Walau bagaimanapun, ralat menunjukkan bahawa bukti kelayakan ini tidak mempunyai keistimewaan yang diperlukan untuk mengakses pangkalan data.

Untuk menyelesaikan isu ini, anda mesti memberikan pengguna yang cuba menyambungkan kebenaran yang sesuai. Dalam MySQL, ini boleh dicapai dengan melaksanakan pertanyaan berikut:

<code class="sql">GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%password%' WITH GRANT OPTION;</code>

Ingat untuk menggantikan "%password%" dengan kata laluan MySQL sebenar anda.

Setelah anda melaksanakan pertanyaan ini, anda sepatutnya boleh menyambung ke pangkalan data MySQL dengan jayanya menggunakan pengguna "root" dan kata laluan yang ditentukan.

Sebagai alternatif, dalam coretan kod kedua anda:

<code class="java">Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/?user=root&password=rootpassword"); </code>

Anda menggunakan pendekatan yang berbeza untuk memasukkan pengguna dan kata laluan dalam URL sambungan itu sendiri. Walaupun pendekatan ini boleh menjadi mudah, ia biasanya kurang selamat kerana ia mendedahkan kata laluan dalam teks biasa.

Adalah sentiasa disyorkan untuk menggunakan fail konfigurasi atau mekanisme selamat lain untuk menyimpan bukti kelayakan pangkalan data dan bukannya membenamkannya terus ke dalam kod atau URL sambungan anda.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'java.sql.SQLException: Access Denied\' Semasa Menyambung ke MySQL?. 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