今天在使用navicate連接配接本地資料庫時,一直報錯,連接配接拒絕:

本人明明記得密碼是‘mysql1234’,怎麼就登不上了呢。。。。。
無奈之下,切入到cmd模式下,進行登入:
輸入密碼‘mysql1234’-----竟然成功登入了。
趕緊去user表下檢視一下root使用者的host和password:
噢no!!,root使用者下host為‘%‘和‘localhost’的密碼竟然不一樣,難怪。。。,但是不是說%的主機包括localhost主機嗎,江湖傳言root使用者在主機為%時,無論時本地localhost還是非本機ip都能登入啊,看來他們之間還是不能完全相容的。
後面我又做了驗證發現以下規律:當不給localhost主機添加密碼時,無論是在非本機ip還是localhost都能依靠主機為%的密碼通過mysql驗證,完成連接配接;
當單獨給localhost添加跟%不一樣的密碼時,如果你在本地登入,mysql資料庫隻認localhost主機的密碼,不認%主機的密碼,并且通過navicate登入的時候雖然你的主機名或者ip填的localhost,mysql也不會讓你通過主機為localhost那個密碼登入的,隻能使用%的那個密碼登入。