在mysql5.7版本中,mysql.user表中的“密碼”字段由原本的“password”改成了現在的"authentication_string",所以剛開始修改root的密碼時,語句改爲:
update mysql.user set authentication_string='你的密碼' where user='root';
這樣就完了嗎?
然而並不是,這樣改完之後,你會發現再登錄,情況還是和之前一樣,因爲在mysql.user表裏有個plugin的字段,root這個用戶的值是auth_socket, 需要把它改成mysql_native_password:
update mysql.user set plugin="mysql_native_password";
然後
flush privileges;
quit;
再登錄進行測試就可以了!