在window下,
1.關閉MySQL服務。service mysqld stop/或停止phpStudy。
2.在MySQL下的my.ini檔案裡,在[mysqld]下面增加:skip-grant-tables
注意:這個指令能讓MySQL免密碼登入
3.啟動MySQL,執行>mysql進入MySQL
4.修改密碼。
mysql>update mysql.user set authentication_string=password(“新密碼”) where user=“使用者名”;
5.重新整理,立即生效。flush privileges; ,重新開機MySQL。
5.去掉步驟2在my.ini檔案裡面添加的skip-grant-tables,否則MySQL還可以免密碼登入。重新開機MySQL。
注意:
(1)執行update mysql.user set password=password(“新密碼”) where user=”使用者名”會報錯:ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’
錯誤原因:5.7版本的mysql資料庫已經沒有password這個字段了,這個字段被改成了authentication_stringupdate。
(2)若修改完密碼不用指令flush privileges;,使用Navicate時會報錯:Your password has expired.To log in you must change it using a client that supports expired passwords.