在mysql中建立了一个匿名用户 create user ‘’@‘%’ ;

-------------------------------------------------------------------------

mysql>mysql -h192.168.163.65

成功进入mysql
 

mysql>status;

可以显示出是以[email protected]用户登录到mysql,通信方式是用TCP/IP,端口3306

mysql>select user,host from mysql.user;

不成功,访问被拒绝。

原来,当我们以IP访问MySQL Server时,匹配到了匿名用户的‘%’,进入到而来匿名用户的线程。

进一步操作会发现y有很多的权限问题。所以这里提出了两个问题:

1)为什么status查看会显示是[email protected]用户?

2)既然是root用户为什么权限会有问题?


----------------------------------------------------------------------------

当我们在my.cnf的【client】选项中,配置了password=root的密码,后。

我们就可以直接用mysql就登录到server上了,而不用指定mysql -u root-p

----------------------------------------------------------------------------

我们新建一个用户jack@localhost,它的密码为jack

然后修改my.cnf中的【client】选项中的password=jack

我们再次用mysql登陆,发现提示出错

我们制定用户登录mysql -u jack 发现就成功登陆了。

可见,mysql这个命令默认是从root用户开启的。


这也证明了为什么我们在匿名用户登录上后,用status查看到的会是[email protected]用户。

root@localhost和[email protected]是两个不同的用户。所以权限会有不同,其实[email protected]

就像一个全新的用户,没有赋予应有的权限,肯定就会有问题.