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

WBOY
풀어 주다: 2016-06-06 20:21:52
원래의
1369명이 탐색했습니다.

今天突然发现本地的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数据库的权限是完全开放的,因此存在一定的风险,线上数据库使用很可能会把这个库人为删除的~

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿