MySQL Access Denied Ralat: Penyelesaian Masalah dan Penyelesaian
Apabila cuba melaksanakan pertanyaan MySQL, anda mungkin menghadapi "ERROR 1044 (42000): Akses dinafikan untuk pengguna '''@'localhost' ke pangkalan data 'db'" mesej. Ralat ini menunjukkan kebenaran yang tidak mencukupi untuk pengguna semasa mengakses pangkalan data yang diminta.
Memahami Ralat
Mesej ralat "Akses ditolak" menunjukkan bahawa pengguna cuba untuk melaksanakan pertanyaan tidak mempunyai keistimewaan yang diperlukan untuk menyambung ke pangkalan data atau melaksanakan operasi yang diingini. Dalam kes khusus ini, pengguna yang cuba mewujudkan sambungan ke pangkalan data dikenal pasti sebagai rentetan kosong ('') daripada localhost.
Mengenalpasti Punca Punca
Untuk menyelesaikan masalah ralat, adalah penting untuk memeriksa tetapan dan keistimewaan akaun pengguna. Anda boleh menggunakan arahan "tunjukkan pemberian" untuk memaparkan keistimewaan yang diberikan untuk pengguna semasa. Dalam contoh yang disediakan, geran berikut ditunjukkan:
GRANT USAGE ON *.* TO ''@'localhost'
Output ini menunjukkan bahawa pengguna rentetan kosong daripada localhost telah diberikan keistimewaan USAGE pada semua pangkalan data. Walaupun ini membenarkan pengguna menyambung ke MySQL, ia tidak memberikan kebenaran untuk mencipta atau memanipulasi pangkalan data atau jadual.
Menyelesaikan Isu
Untuk menyelesaikan ralat, anda boleh memberikan keistimewaan yang diperlukan kepada pengguna yang dikehendaki. Walau bagaimanapun, kerana anda tidak mempunyai sebarang id pengguna pada masa ini, anda perlu menciptanya. Walau bagaimanapun, anda perlu mencipta akaun pengguna dengan keistimewaan yang diperlukan untuk melaksanakan operasi CREATE USER.
Menggunakan Akaun Root
Untuk memastikan anda mempunyai yang diperlukan keistimewaan, anda boleh cuba menyambung ke MySQL menggunakan akaun root. Dalam contoh yang diberikan, percubaan awal untuk menyambung sebagai root tidak berjaya. Untuk log masuk sebagai root, anda harus menjalankan perintah berikut dalam shell Bash anda, bukan dalam baris arahan MySQL:
mysql -u root -p
Masukkan kata laluan root apabila digesa. Sebaik sahaja anda dilog masuk sebagai root, anda boleh meneruskan dengan mencipta pengguna baharu dengan keistimewaan yang diperlukan.
Atas ialah kandungan terperinci Akses MySQL Ditolak: Bagaimana untuk Menyelesaikan Masalah dan Menyelesaikan Ralat 'Akses ditolak untuk pengguna ''@'localhost''?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!