設置 mysql 的 root用戶 可以被外網訪問后的問題
問題描述
修改 root 用戶可以不在本地的時候登錄
mysql> use mysql;Database changedmysql> select host,user from user;+-----------+------+| host | user |+-----------+------+| 127.0.0.1 | root || ::1 | root || localhost | root |+-----------+------+3 rows in set (0.00 sec)mysql> update user set host=’%’ where user=’root’;ERROR 1062 (23000): Duplicate entry ’%-root’ for key ’PRIMARY’mysql> flush privileges;Query OK, 0 rows affected (0.00 sec)mysql> exit;Bye
以上步驟完成之后,遇到個問題就是:在本地的時候mysql -uroot回車,回車后居然就可以直接登錄了
反而不能通過密碼登錄了:
C:wampmysqlbin>mysql -uroot -pEnter password: *********ERROR 1045 (28000): Access denied for user ’root’@’localhost’ (using password: YES)C:wampmysqlbin>
這是為什么?
問題解答
回答1:localhost不在%里mysql -uroot -h127.0.0.1 -p和mysql -uroot -p相當于用2個用戶登錄
update user set host=’%’ where user=’root’;而且你這樣更改,相當于把上面3條記錄都修改了,所以系統提示你'ERROR 1062 (23000): Duplicate entry ’%-root’ for key ’PRIMARY’錯誤了,因為Host,User字段是復合主鍵不唯一。
所以,LZ執行這條語句,其實是不成功的。所以從這一步往下都不用看了。
相關文章:
1. java - 圖片上傳后,立即訪問出現404,重新部署項目后正常可以訪問2. javascript - Jquery click()事件的禁用3. html - css 文件內,有的樣式沒調用, 有沒有工具刪除這部分沒調用的內容?4. javascript - easyui textbox綁定onchange事件不能獲取最新的文本框的值5. javascript - node引入文件路徑中的@是什么意思?6. css - chrome瀏覽器input記錄上次cookie信息后,有個黃色背景~如何去除!7. PHP類中的$this8. javascript - 請教如何獲取百度貼吧新增的兩個加密參數9. html5 - h5寫的app用的webview,用手機瀏覽器打開不顯示?10. 單元格本來是寫文字的地方插入背景圖片,這種方式正確嗎?
