設(shè)置 mysql 的 root用戶 可以被外網(wǎng)訪問后的問題
問題描述
修改 root 用戶可以不在本地的時(shí)候登錄
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
以上步驟完成之后,遇到個(gè)問題就是:在本地的時(shí)候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相當(dāng)于用2個(gè)用戶登錄
update user set host=’%’ where user=’root’;而且你這樣更改,相當(dāng)于把上面3條記錄都修改了,所以系統(tǒng)提示你'ERROR 1062 (23000): Duplicate entry ’%-root’ for key ’PRIMARY’錯(cuò)誤了,因?yàn)镠ost,User字段是復(fù)合主鍵不唯一。
所以,LZ執(zhí)行這條語句,其實(shí)是不成功的。所以從這一步往下都不用看了。
相關(guān)文章:
1. docker start -a dockername 老是卡住,什么情況?2. docker api 開發(fā)的端口怎么獲取?3. docker-machine添加一個(gè)已有的docker主機(jī)問題4. vim - docker中新的ubuntu12.04鏡像,運(yùn)行vi提示,找不到命名.5. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?6. docker綁定了nginx端口 外部訪問不到7. javascript - sublime快鍵鍵問題8. 前端 - 請(qǐng)問display: -webkit-flex;是什么意思?9. webgl - android上類似汽車之家的3d全景照片怎么實(shí)現(xiàn)10. 網(wǎng)頁爬蟲 - 如何使用使用java抓取信息并制作一個(gè)排名系統(tǒng)?

網(wǎng)公網(wǎng)安備