Rumah > pangkalan data > tutorial mysql > Mengapa Saya Mendapat Ralat 'Akses Ditolak' Semasa Memberi Keistimewaan MySQL Walaupun Mempunyai Keizinan yang Diperlukan?

Mengapa Saya Mendapat Ralat 'Akses Ditolak' Semasa Memberi Keistimewaan MySQL Walaupun Mempunyai Keizinan yang Diperlukan?

Linda Hamilton
Lepaskan: 2024-12-01 00:49:15
asal
494 orang telah melayarinya

Why Do I Get

Memberi Keistimewaan tanpa Akses Ralat Ditolak

Apabila cuba memberikan keistimewaan, pengguna MySQL mungkin menghadapi ralat "Akses ditolak untuk 'root' pengguna @'localhost' (menggunakan kata laluan: YA)." Ini boleh membingungkan, kerana ia mungkin kelihatan seperti pengguna mempunyai kebenaran yang diperlukan.

Mengesahkan Keistimewaan

Untuk mengesahkan bahawa pengguna mempunyai keistimewaan yang sesuai, jalankan arahan berikut :

SELECT user();
SELECT current_user();
SHOW GRANTS FOR 'root'@'localhost';
SELECT * FROM mysql.user WHERE User='root';
Salin selepas log masuk

Arahan ini harus mengesahkan bahawa pengguna sememangnya root@localhost dan mempunyai yang diperlukan kebenaran, termasuk:

  • PILIH, MASUKKAN, KEMASKINI, PADAM, BUAT, LEPASKAN, MUAT SEMULA, TUTUP, PROSES, FAIL, RUJUKAN, INDEX, UBAH, Tunjukkan PANGKALAN DATA, SUPER
  • Create dan memanipulasi jadual, pandangan, dan rutin
  • Berikan keistimewaan kepada pengguna lain

Isu: Memberi Keistimewaan pada Jadual Tertentu

Walaupun mempunyai kebenaran ini, ralat mungkin berlaku apabila cuba memberikan keistimewaan pada tertentu jadual:

GRANT ALL PRIVILEGES ON *.* TO 'steves'@'[hostname].com' IDENTIFIED BY '[OBSCURED]' WITH GRANT OPTION;
Salin selepas log masuk

Ini kerana jadual mysql.users dianggap luar had untuk semua pengguna kecuali root.

Penyelesaian: Pemberian Keistimewaan pada Semua Pangkalan Data

Untuk mengatasinya, gunakan arahan berikut, yang memberikan keistimewaan pada semua pangkalan data kecuali mysql.users:

GRANT ALL PRIVILEGES ON `%`.* TO '[user]'@'[hostname]' IDENTIFIED BY '[password]' WITH GRANT OPTION;
Salin selepas log masuk

Menggunakan %. bukannya .* memastikan semua pangkalan data disertakan kecuali jadual mysql.users. Ini sepatutnya berjaya memberikan keistimewaan tanpa mencetuskan ralat dinafikan akses.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Akses Ditolak' Semasa Memberi Keistimewaan MySQL Walaupun Mempunyai Keizinan yang Diperlukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan