Maison >développement back-end >tutoriel php >为什么任意用户名都可以访问mysql下的test数据库?

为什么任意用户名都可以访问mysql下的test数据库?

WBOY
WBOYoriginal
2016-06-06 20:21:521382parcourir

今天突然发现本地的mysql可以通过任意用户名访问到其中两个数据库,为什么会这样?
为什么任意用户名都可以访问mysql下的test数据库?

为什么任意用户名都可以访问mysql下的test数据库?

如图一:任意用户名都可以访问到这两个数据库
如图二:用户名随意写,只要密码不写都可以访问,但写了后就不能登录成功

补充:
上面是昨天的提问,今天我再去登录的时候却发现不存在的用户名不能登录了,怎么这么奇怪?为什么昨天可以?
为什么任意用户名都可以访问mysql下的test数据库?

补充说明一下:
现在问题解决了,还是自己犯的小错误:
一是空用户名的话,就是任意用户名都可以访问,我之前一直以为对应空用户名才对,其实不是这样的;
二是它所对应的密码为空,所以,我输了密码就不能登录;
三是我删除空用户名用户后还是这样,因为没有重启mysql!!!!(哎,发现犯过几次这样的错误了!)
今天开电脑后,发现"正常"了,因为电脑“重启”了!

回复内容:

今天突然发现本地的mysql可以通过任意用户名访问到其中两个数据库,为什么会这样?
为什么任意用户名都可以访问mysql下的test数据库?

为什么任意用户名都可以访问mysql下的test数据库?

如图一:任意用户名都可以访问到这两个数据库
如图二:用户名随意写,只要密码不写都可以访问,但写了后就不能登录成功

补充:
上面是昨天的提问,今天我再去登录的时候却发现不存在的用户名不能登录了,怎么这么奇怪?为什么昨天可以?
为什么任意用户名都可以访问mysql下的test数据库?

补充说明一下:
现在问题解决了,还是自己犯的小错误:
一是空用户名的话,就是任意用户名都可以访问,我之前一直以为对应空用户名才对,其实不是这样的;
二是它所对应的密码为空,所以,我输了密码就不能登录;
三是我删除空用户名用户后还是这样,因为没有重启mysql!!!!(哎,发现犯过几次这样的错误了!)
今天开电脑后,发现"正常"了,因为电脑“重启”了!

你看看test数据库的用户权限,就是允许任何用户访问的。

用 root 账号登录,然后

<code class="sql">select * from mysql.user \G</code>

看看是不是有两列的 user 是空的。也就是任意用户。

正如justjavac所说的,test数据库的权限是完全开放的,因此存在一定的风险,线上数据库使用很可能会把这个库人为删除的~

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn