Rumah > Java > javaTutorial > teks badan

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

DDD
Lepaskan: 2024-10-25 03:19:02
asal
290 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!