Akses Ditolak untuk 'root' Pengguna Semasa Memberi Keistimewaan Dijelaskan
Dalam MySQL, semasa cuba memberikan keistimewaan kepada pengguna lain dengan 'GRANT ', anda mungkin menghadapi ralat "Akses ditolak" yang membingungkan, walaupun dilog masuk sebagai hak istimewa pengguna 'root' dengan kata laluan yang betul. Keanehan ini berpunca daripada percubaan untuk mewakilkan keistimewaan kepada jadual mysql.users, aspek sensitif pengurusan pengguna MySQL.
Punca Ralat
Pengguna mysql. jadual mengandungi maklumat sensitif tentang pengguna MySQL, termasuk kata laluan cincang, kebenaran dan tetapan. Untuk memastikan integriti dan keselamatan pangkalan data, hanya pengguna 'root' diberikan akses untuk memberikan keistimewaan pada jadual ini. Ini dikuatkuasakan sebagai langkah keselamatan untuk mengelakkan pengubahsuaian yang tidak dibenarkan pada akaun pengguna dan kebenaran pangkalan data.
Kaedah Pemberian Yang Betul
Untuk memberikan keistimewaan dengan berkesan, elakkan menggunakan . atau sintaks serupa yang berpotensi termasuk jadual mysql.users. Sebaliknya, gunakan sintaks berikut untuk memberikan keistimewaan pada jadual, pangkalan data atau objek global tertentu:
GRANT [privileges] ON [database].[table] TO '[user]'@'[hostname]' IDENTIFIED BY '[password]';
Pendekatan ini mengehadkan pendelegasian keistimewaan kepada objek tertentu, tidak termasuk jadual mysql.users.
Nota Tambahan
Semasa menggunakan Pengguna 'root' dengan semua keistimewaan tidak digalakkan atas sebab keselamatan, ia mungkin perlu dalam situasi tertentu. Jika anda memilih untuk menggunakan pengguna 'root', pastikan langkah keselamatan yang kukuh disediakan, seperti kata laluan yang kukuh, penyulitan rangkaian dan audit pangkalan data biasa.
Atas ialah kandungan terperinci Mengapa Pemberian Keistimewaan Gagal dengan 'Akses Ditolak' Walaupun sebagai Pengguna Root dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!