在linux下安裝了mysql之後出現錯誤,剛開始以為就是沒有密碼的問題,按照這篇文章進行了修改:linux下mysql 初次登陸修改密碼 修改之後應該沒錯,但再次啟動服務root登錄還是不行,下面的就是出現的問題和解決過程:
mysqld_safe
--skip-grant-tables&mysql
-uroot mysql
mysql> select * from user;
Empty set (0.00 sec)
mysql> select USER();
+--------+
| USER()
|
+--------+
| root@ |
+--------+
1 row in set (0.00 sec)
**為了大家方便這裡提供一些說明:第一個值是host,第二個為user這兩項是必填項,password("my_password")這裡進行密碼的設置,MY_PASSWORD 就是密碼 ,而'Y'有28個,之後有1個enum和3個blob 可以為空,也就是這裡的4個空字符,int類型有4個,默認值為0
INSERT INTO user VALUES('%','root',password('MY_PASSWORD'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0)
這裡要主要的是第3個字段密碼處要用password('密碼'),因為mysql中密碼是要經過編碼的,不是直接字符串保存的。