設(shè)置 mysql 的 root用戶(hù) 可以被外網(wǎng)訪問(wèn)后的問(wèn)題
問(wèn)題描述
修改 root 用戶(hù)可以不在本地的時(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è)問(wèn)題就是:在本地的時(shí)候mysql -uroot回車(chē),回車(chē)后居然就可以直接登錄了
反而不能通過(guò)密碼登錄了:
C:wampmysqlbin>mysql -uroot -pEnter password: *********ERROR 1045 (28000): Access denied for user ’root’@’localhost’ (using password: YES)C:wampmysqlbin>
這是為什么?
問(wèn)題解答
回答1:localhost不在%里mysql -uroot -h127.0.0.1 -p和mysql -uroot -p相當(dāng)于用2個(gè)用戶(hù)登錄
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í)行這條語(yǔ)句,其實(shí)是不成功的。所以從這一步往下都不用看了。
相關(guān)文章:
1. python - linux怎么在每天的凌晨2點(diǎn)執(zhí)行一次這個(gè)log.py文件2. 關(guān)于mysql聯(lián)合查詢(xún)一對(duì)多的顯示結(jié)果問(wèn)題3. 實(shí)現(xiàn)bing搜索工具urlAPI提交4. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)5. 數(shù)據(jù)庫(kù) - Mysql的存儲(chǔ)過(guò)程真的是個(gè)坑!求助下面的存儲(chǔ)過(guò)程哪里錯(cuò)啦,實(shí)在是找不到哪里的問(wèn)題了。6. windows誤人子弟啊7. 冒昧問(wèn)一下,我這php代碼哪里出錯(cuò)了???8. 如何用筆記本上的apache做微信開(kāi)發(fā)的服務(wù)器9. 我在網(wǎng)址中輸入localhost/abc.php顯示的是not found是為什么呢?10. mysql優(yōu)化 - MySQL如何為配置表建立索引?
