標籤:style color os for sp 檔案 資料 ad ef
今天在學習mysql資料庫過程中,誤刪掉了root使用者,一直出現 “mysql ERROR 1045 (28000): Access denied for user root”錯誤,網上查了半天才找到解決辦法:
1.編輯mysql設定檔my.ini(windows下叫這個名字)或my.cnf (linux下叫這個名字)找到這個選項skip-grant-tables,如果沒有請添加!然後重啟mysql伺服器。
2.提示符下輸入mysql -u root -p就可以不用密碼登入了,出現password:的時候直接斷行符號可以進入,不會出現ERROR 1045 (28000),但很多操作都會受限制,因為我們不能grant(沒有許可權)。
3.執行以下語句:
a: use mysql
b: insert into user set user=’root’;
c: update user set password=password("newpassword") where user="root";
d: update user set host=‘localhost‘,select_priv=‘y‘, insert_priv=‘y‘,update_priv=‘y‘, Alter_priv=‘y‘,delete_priv=‘y‘,create_priv=‘y‘,drop_priv=‘y‘,reload_priv=‘y‘,shutdown_priv=‘y‘,Process_priv=‘y‘,file_priv=‘y‘,grant_priv=‘y‘,References_priv=‘y‘,index_priv=‘y‘,create_user_priv=‘y‘,show_db_priv=‘y‘,super_priv=‘y‘,create_tmp_table_priv=‘y‘,Lock_tables_priv=‘y‘,execute_priv=‘y‘,repl_slave_priv=‘y‘,repl_client_priv=‘y‘,create_view_priv=‘y‘,show_view_priv=‘y‘,create_routine_priv=‘y‘,alter_routine_priv=‘y‘,create_user_priv=‘y‘ where user=‘root‘;
e: flush privileges;
4.注釋或刪除掉第一步設定檔中的skip-grant-tables選項並儲存,重啟mysql伺服器。
重新登陸即可!
注意:mysql伺服器版本為5.1.73,linux伺服器版本為Centos6.5。
Mysql誤刪root後的簡單解決辦法