设置 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. python3.x - python多线程如何修改数据?2. nignx - docker内nginx 80端口被占用3. css - input怎么修改光标的颜色?4. javascript - 在 vue里面用import引入js文件,结果为undefined5. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?6. macos - mac下docker如何设置代理7. angular.js - angularjs的自定义过滤器如何给文字加颜色?8. 在windows下安装docker Toolbox 启动Docker Quickstart Terminal 失败!9. javascript - js 对中文进行MD5加密和python结果不一样。10. java - 一个现有的项目包名类似于com.company.........,如何才能简单的将包名修改为com.test.....

网公网安备