Rumah  >  Artikel  >  pangkalan data  >  Mengapa Saya Mendapat Ralat \'Akses Ditolak\' dalam MySQL?

Mengapa Saya Mendapat Ralat \'Akses Ditolak\' dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-31 21:33:29465semak imbas

Why Am I Getting

MySQL: Memahami Ralat "Access Denied"

Menemui mesej ralat "Access denied for user" dalam MySQL boleh mengecewakan. Untuk menyelesaikan masalah ini, adalah penting untuk memahami sifat ralat dan kemungkinan punca.

Memahami Kawalan Akses dalam MySQL

MySQL melaksanakan sistem kawalan akses berasaskan peranan, di mana pengguna diberikan peranan dan keistimewaan yang menentukan tahap akses mereka kepada pangkalan data dan objek. Secara lalai, pengguna hanya diberikan akses kepada objek dalam akaun mereka.

Punca Biasa Ralat "Akses Ditolak"

  • Kelayakan Tidak Betul: Sahkan bahawa nama pengguna dan kata laluan yang dinyatakan dalam percubaan sambungan anda adalah betul.
  • Keistimewaan Terhad: Pastikan pengguna telah diberikan keistimewaan yang sesuai pada pangkalan data atau jadual yang anda cuba untuk mengakses.
  • Tidak Padan Hos: MySQL menyemak hos dari mana sambungan dibuat. Tentukan nama hos dalam rentetan sambungan agar sepadan dengan hos yang dibenarkan oleh pengguna.

Menyelesaikan Ralat Akses Ditolak

Untuk membetulkan ralat "Akses Ditolak" , ikut langkah berikut:

  1. Semak Bukti Kelayakan: Sahkan bahawa anda menggunakan nama pengguna dan kata laluan yang betul untuk akaun.
  2. Keistimewaan Pemberian: Jika perlu, berikan pengguna keistimewaan yang diperlukan pada pangkalan data atau jadual menggunakan pernyataan seperti:

    <code class="sql">GRANT ALL ON *.* TO 'servname_shb'@'localhost';</code>
  3. Nyatakan Hos: Tambah nama hos kepada rentetan sambungan, cth.:

    <code class="sql">$dbhost = "localhost";
    $dbuser = "servname_shb";
    $dbpass = "password";
    $c = mysql_connect($dbhost, $dbuser, $dbpass, true) or die("Error:".mysql_error());</code>
  4. Refresh Privileges: Untuk memastikan perubahan berkuat kuasa, muat semula keistimewaan menggunakan arahan:

    <code class="sql">FLUSH PRIVILEGES;</code>

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat \'Akses Ditolak\' dalam 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