Rumah > Artikel > pangkalan data > Mengapa Saya Mendapat \"Akses Ditolak\" untuk Pengguna MySQL \'root\' pada Ubuntu 16.04?
Akses Ditolak untuk 'root' Pengguna MySQL Menggunakan Ubuntu 16.04
Apabila cuba menyambung ke pangkalan data MySQL daripada pelayan web pada Ubuntu 16.04 , pengguna mungkin menghadapi ralat berikut:
SQLSTATE[HY000] [1698] Access denied for user 'root'@'localhost'
Isu ini berlaku kerana, dalam MySQL 5.7, mekanisme pengesahan lalai telah berubah dan pengguna root tidak lagi boleh diakses tanpa keistimewaan yang tinggi.
Penyelesaian:
Untuk menyelesaikan ralat ini, pengguna mesti mencipta pengguna MySQL baharu dengan keistimewaan yang diperlukan dan bukannya menggunakan pengguna root. Langkah berikut menggariskan proses:
sudo mysql -u root -p
Masukkan kata laluan root anda apabila digesa.
CREATE USER new_user@localhost IDENTIFIED BY 'new_password';
Ganti 'new_user' dengan nama pengguna yang diingini dan 'new_password' dengan kata laluan yang kukuh.
GRANT ALL PRIVILEGES ON *.* TO new_user@localhost;
Ini memberikan pengguna baharu akses penuh kepada semua pangkalan data dan jadual.
Ubah suai kod PHP dalam soalan yang disediakan untuk menggunakan bukti kelayakan pengguna yang baru dibuat, menggantikan 'root' dengan 'new_user' dan 'root' dengan 'new_password'.
FLUSH PRIVILEGES;
Ini mengemas kini jadual keistimewaan dengan perubahan yang dibuat.
EXIT;
Dengan mengikut langkah ini, pengguna boleh menyambung ke pangkalan data MySQL mereka daripada pelayan web di Ubuntu 16.04 tanpa menghadapi ralat "Akses ditolak".
Atas ialah kandungan terperinci Mengapa Saya Mendapat \"Akses Ditolak\" untuk Pengguna MySQL \'root\' pada Ubuntu 16.04?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!