หากคุณลบroot
ผู้ใช้โดยไม่ได้ตั้งใจคุณสามารถดำเนินการได้อย่างหนึ่ง:
- หยุดบริการ MySQL
- วิ่ง
mysqld_safe --skip-grant-tables &
- พิมพ์
mysql -u root -p
และกด Enter
- ป้อนรหัสผ่านของคุณ
- ที่บรรทัดคำสั่ง mysql ให้ป้อน:
use mysql;
จากนั้นดำเนินการค้นหานี้:
insert into `user` (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `ssl_type`, `ssl_cipher`, `x509_issuer`, `x509_subject`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`)
values('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0');
จากนั้นรีสตาร์ท mysqld
แก้ไข: 6 ตุลาคม 2561
ในกรณีที่ใครก็ตามต้องการคำตอบนี้ฉันได้ลองใช้วันนี้โดยใช้innodb_version 5.6.36-82.0และ10.1.24-MariaDBและจะใช้งานได้ถ้าคุณลบ BACKTICKS (ไม่มีเครื่องหมายคำพูดเดียวเพียงแค่ลบออก):
insert into user (Host, User, Password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, Create_view_priv, Show_view_priv, Create_routine_priv, Alter_routine_priv, Create_user_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections, max_user_connections)
values('localhost','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','','0','0','0','0');