1. 程式人生 > 其它 >mysql5.7 root賬戶被刪除

mysql5.7 root賬戶被刪除

今天用navicat登入mysql,發現登入不上去了,接著上伺服器登入mysql,輸入密碼後一直報錯
在這裡插入圖片描述
怎麼也登陸不上去,之前設定的使用者名稱密碼是root,root…
先跳過授權表登入MySQL
開啟/etc/my.cnf配置檔案
新增skip_grant_tables,然後重啟mysql systemctl restart mysqld 然後mysql -u root登入成功
然後看mysql庫下面的user表,發現root賬戶沒有了…不知道咋回事
就當是 mysql5.7 誤刪管理員root賬戶
建立 root 使用者並賦許可權,並修改root密碼

insert into user set
user='root',ssl_cipher='',x509_issuer='',x509_subject='';
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';
update user set authentication_string=password('這次可不敢設定root密碼了') where user='root';

重新整理

flush privileges;

退出重新登入,登入成功!!!

還得註釋掉/etc/my.cnf的skip-grant-tables引數,重啟資料庫

PS設定mysql5.7允許外部訪問
1,mysql -u root -p 登入資料庫
2,use mysql; 選擇基礎資訊資料庫
3,GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密碼';
4,flush privileges; 清除快取,重新載入許可權