1. 程式人生 > 其它 >mysql密碼忘記了重置方法

mysql密碼忘記了重置方法

#先把mysql停止
service mysqld stop

#安全模式進入mysql,並且跳過授權表  
mysqld_safe --skip-grant-tables &

#如果上面這個命令報錯的話試試這個

mysqld --user=mysql --skip-grant-tables --skip-networking &

#輸入 mysql -uroot -p  不要敲密碼,回車進入即可
mysql -uroot -p

#用一下mysql這個庫就好,然後執行一下update語句(括號裡面的是你要修改的新密碼),然後重新整理一下授權表,最後退出即可
mysql> use mysql
mysql> update mysql.user set authentication_string=password('root') where user='root';
mysql> flush privileges;
mysql> quit

#測試 將mysql重啟 
service mysqld restart
mysql -proot

#重置密碼之後出現的問題 navicat遠端連線不上去 
#因為之前執行了 mysqld --user=mysql --skip-grant-tables --skip-networking &
#該命令中有一個引數“–skip-networking”,
#所以使用命令:SHOW VARIABLES LIKE 'skip_networking'; 檢視,發現引數skip-networking是開啟的。

  

#所以現在所要做的就是將引數skip-networking關閉掉。
#查詢到相應的pid之後將對應進行kill掉
ps aux|grep mysql
#一般來說 kill完之後就可以連結上去了。

結論:如果使用 “mysqld_safe --user=mysql --skip-grant-tables --skip-networking &” 命令重啟mysql服務,實現了免密登入,完成所需操作之後,一定要記得關閉引數skip-grant-tables 和skip-networking。