1、设置root密码为“123456”后,直接连localhost密码为空可连,用123456连不上,为啥?
2、grant all privileges on *.* to 'root'@'%' identified by 'root';后,用wamp自带的MySQL控制台登录时密码为123456,用root登录不可以,用连接工具登录时密码为root,为啥?
答案:
直接看用户表就可以知道
因为系统内存在一个localhost的用户,用户名和密码都为空。用连接工具连localhost,不输入用户名也可以连接上,如下图:这时候用的用户信息是a
当我们给root用户,设置密码为“123456”后,(set password for root@localhost = password('123456');)系统用户表增加的条目为b,用控制台登录用的是这条信息。
当我们设置了所有IP都可以访问,密码为root时(grant all privileges on *.* to 'root'@'%' identified by 'root';),系统用户表增加的条目为c,用连接工具通过IP登录用的是这条信息。
注意:不同用户的权限可以直接在用户表查看