解決方法:
最簡單方法:
⑴打開mysql中的my.ini(如果沒有就將my-default.ini復制一份,並修改為my.ini);
⑵在[mysqld]下面空白行直接添加skip-grant-tables;
⑶重啟mysql,在cmd頁面輸入mysql,按回車鍵即可。
注:這會使你的mysql無法設置密碼,但對個人使用而言這豈不是更省了一步!
重設root密碼:
⑴停止mysql服務:net stop mysql
⑵輸入:mysqld --skip-grant-tables
⑶重新打開一個cmd窗口,輸入:mysql -u root
⑷登錄成功后輸入:update mysql.user set authentication_string=password('你的密碼') where user='root' and host='localhost';
【經驗錯誤:ERROR 1054 (42S22): Unknown column 'password' in 'field list',原因:mysql數據庫下已經沒有password這個字段了,password字段改成了authentication_string】
⑸讓設置的密碼生效:flush privileges;
⑹輸入\q退出mysql。
注:
①如果直接關掉第一個cmd窗口后,要用資源管理器把mysql進程關掉,否則設置前的mysql依然在運行着;
②MySQL5.7 設置的密碼建議至少包含一個大寫字母、一個小寫字母、一個特殊符號、一個數字,密碼長度至少為8個字符;
③登錄mysql的輸入方式為:mysql -u root -p,然后輸入你的密碼就OK啦!