#先把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。