Rumah > pangkalan data > tutorial mysql > Mengapa MySQL Mengembalikan 'Akses Ditolak untuk 'root' Pengguna tanpa Keistimewaan,' dan Bagaimana Saya Boleh Membetulkannya?

Mengapa MySQL Mengembalikan 'Akses Ditolak untuk 'root' Pengguna tanpa Keistimewaan,' dan Bagaimana Saya Boleh Membetulkannya?

Susan Sarandon
Lepaskan: 2024-12-19 14:22:09
asal
964 orang telah melayarinya

Why Does MySQL Return

Akses Ditolak untuk 'root' Pengguna tanpa Keistimewaan: Menyelidiki Punca Punca

Ralat yang biasa ditemui ini, "Akses Ditolak untuk Pengguna 'root'@'localhost' (menggunakan kata laluan: YA) - Tiada Keistimewaan?," tidak boleh diambil dengan ringan. Ia berkesan menghalang pentadbir daripada mengakses operasi pangkalan data yang penting. Isu asas selalunya berpunca daripada keistimewaan skema pengguna akar yang dilucutkan, menjadikan mereka tidak berkuasa.

Menyambungkan Dots: MySQL 5.7 dan Sambungan Soket

Untuk MySQL versi 5.7 dan di atas, perlu diperhatikan bahawa sambungan soket didayakan secara lalai. Ini bermakna bahawa menggunakan "sudo mysql" adalah mencukupi untuk mewujudkan sambungan. Walau bagaimanapun, menjalankan "SHOW GRANTS FOR root;" mungkin mendedahkan bahawa tiada geran yang ditetapkan untuk pengguna 'root'.

Menuntut Semula Keistimewaan Root

Untuk memulihkan akses root, langkah berikut boleh diambil:

  1. Mengenal pasti Pemalam Pengesahan: Jalankan pertanyaan "PILIH pengguna, rentetan_pengesahan, pemalam, hos DARI mysql.user;" untuk menentukan pemalam pengesahan yang digunakan untuk pengguna root. Dalam kebanyakan kes, ia akan menjadi "auth_socket."
  2. Bertukar kepada Pengesahan Kata Laluan Asli: Untuk root menyambung menggunakan kata laluan, kemas kini nilai "authentication_string" dalam jadual mysql.user dengan arahan "ALTER USER 'root'@'localhost' DIKENALPASTI DENGAN mysql_native_password OLEH 'Current-Root-Password';".
  3. Keistimewaan Menyegarkan: Laksanakan "FLUSH PRIVILEGES;" untuk menyegarkan semula tetapan keistimewaan.
  4. Mengesahkan Perubahan: Menjalankan semula "PILIH pengguna, authentication_string, pemalam, hos DARI mysql.user;" kini sepatutnya menunjukkan bahawa pengguna root menggunakan pengesahan "mysql_native_password".

Pertimbangan Tambahan

Dalam kes MariaDB, arahan "SET PASSWORD FOR ' root'@'localhost' = PASSWORD('manager');" harus digunakan untuk menetapkan kata laluan.

Proses resolusi ini menganggap bahawa arahan "sudo mysql_secure_installation" telah berjaya dijalankan sebelum menghadapi ralat dinafikan akses. Jika arahan itu belum selesai, jalankan dahulu adalah disyorkan.

Atas ialah kandungan terperinci Mengapa MySQL Mengembalikan 'Akses Ditolak untuk 'root' Pengguna tanpa Keistimewaan,' dan Bagaimana Saya Boleh Membetulkannya?. 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