MySQL - Access Denied for User
Walaupun mencipta pengguna baharu dengan keistimewaan yang diperlukan, anda mungkin menghadapi ralat "Akses ditolak" apabila cuba menyambung ke pangkalan data. Isu ini timbul kerana penyata geran yang salah.
Mesej ralat menunjukkan bahawa pengguna 'servname_shb'@'localhost' tidak mempunyai akses kepada pangkalan data. Untuk membetulkannya, gunakan penyata geran berikut:
<code class="sql">GRANT ALL ON *.* TO 'servname_shb'@'localhost';</code>
Ini memberikan pengguna yang ditentukan akses penuh kepada semua pangkalan data dan jadual pada hos tempatan. Sebagai alternatif, anda boleh mengehadkan akses kepada komponen yang diperlukan sahaja dengan menyatakan pangkalan data atau jadual tertentu dalam penyata pemberian.
Sebagai contoh, untuk memberikan akses kepada pangkalan data 'servname_shbusers' sahaja:
<code class="sql">GRANT ALL ON servname_shbusers TO 'servname_shb'@'localhost';</code>
Untuk lebih mengamankan pangkalan data, adalah disyorkan untuk mengehadkan akses pengguna kepada hanya keistimewaan yang diperlukan. Menggunakan pernyataan GRANT dengan keistimewaan tertentu membolehkan anda mengehadkan keupayaan pengguna untuk melakukan tindakan tertentu, seperti mencipta, mengubah atau memadam data.
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'Akses Ditolak' Apabila Menyambung ke MySQL Walaupun Mencipta Pengguna Baharu Dengan Keistimewaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!