Saya terus mendapat ralat ini.
Saya menggunakan mySQL Workbench dan saya mendapati bahawa kebenaran skema root kosong. Tidak ada keistimewaan sama sekali.
Saya menghadapi masalah pada pelbagai platform yang saya gunakan pelayan saya, dan ini adalah masalah yang timbul secara tiba-tiba.
root@127.0.0.1 Nampaknya terdapat banyak akses, tetapi saya log masuk seperti ini, tetapi ia hanya diberikan kepada localhost - localhost tidak mempunyai kebenaran.
Saya melakukan beberapa perkara seperti FLUSH HOSTS
、FLUSH PRIVILEGES
dsb.
Tetapi tiada kejayaan dari kaedah itu atau dari internet.
Bagaimana saya boleh memulihkan akses root? Saya rasa ini mengecewakan kerana apabila saya melihat sekeliling orang mengharapkan anda "mempunyai akses" tetapi saya tidak mempunyai akses jadi saya tidak boleh masuk ke baris arahan atau apa-apa dan GRANT
melakukan apa-apa sendiri.
Lari SHOW GRANTS FOR root
Inilah balasan yang saya dapat:
Kod ralat: 1141. Tiada kebenaran sedemikian ditakrifkan untuk 'root' pengguna Hos "%"
Jika anda menghadapi masalah yang sama dalam MySql 5.7.+:
Ini kerana MySql 5.7 membenarkan sambungan soket secara lalai, yang bermaksud anda hanya perlu menyambung menggunakan
sudo mysql
. Jika anda menjalankan sql:Kemudian anda akan melihatnya:
Untuk membenarkan sambungan menggunakan akar dan kata laluan, kemas kini nilai dalam jadual menggunakan arahan:
Kemudian jalankan arahan pilih sekali lagi dan anda akan melihat ia telah berubah:
Itu sahaja. Anda boleh menjalankan proses ini selepas menjalankan dan melengkapkan arahan
sudo mysql_secure_installation
.Untuk mariadb, gunakan
Tetapkan kata laluan. Untuk maklumat lanjut sila layari https://mariadb.com/kb/en/set-password/
Arahan untuk menetapkan semula kata laluan root menggunakan - Tetapi daripada menetapkan semula kata laluan root, kami akan memaksa memasukkan rekod ke dalam jadual mysql.user
Dalam fail permulaan, gunakan ini sebagai ganti