"SQLSTATE[HY000] [1698] Akses dinafikan untuk pengguna 'root'@'localhost'": Penjelasan Mendalam
Dalam konteks ini, anda telah menemui mesej ralat yang mengecewakan "SQLSTATE[HY000] [1698] Akses ditolak untuk pengguna 'root'@'localhost'," semasa cuba mengakses pangkalan data dengan keistimewaan root melalui PHP dan phpMyAdmin. Walaupun mencipta pengguna baharu dengan keistimewaan yang mencukupi, penciptaan pangkalan data tetap tidak berjaya.
Ralat ini timbul daripada peningkatan keselamatan yang diperkenalkan dalam MySQL 5.7, yang mengehadkan penggunaan pengguna root tanpa keistimewaan tinggi (sudo). Sebelum ini, anda hanya boleh menggunakan "mysql -u root," tetapi pendekatan ini tidak lagi berdaya maju. Sebaliknya, anda mesti menggunakan "sudo mysql -u root."
Oleh itu, menggunakan pengguna akar dalam antara muka pengguna grafik (GUI) atau aplikasi baris bukan arahan akan gagal. Untuk memintas isu ini, cipta pengguna baharu dengan keistimewaan yang diperlukan dan gunakan pengguna itu sebaliknya.
Untuk penjelasan lanjut, rujuk penyelesaian yang disediakan dalam respons ini: (di sini).
Penyelesaian ini menangani isu dengan menghalang penggunaan langsung pengguna root tanpa keistimewaan yang lebih tinggi, dengan itu meningkatkan keselamatan. Untuk mengekalkan kefungsian, pertimbangkan untuk mencipta pengguna baharu dengan kebenaran yang sesuai untuk akses pangkalan data.
Atas ialah kandungan terperinci Mengapa Saya Mendapat \'SQLSTATE[HY000] [1698] Akses dinafikan untuk Ralat \'root\'@\'localhost\'\' pengguna dalam MySQL 5.7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!