素材牛VIP会员
Mysql数据库为什么要有身份验证呢?
 一***句  分类:SQL代码  人气:689  回帖:3  发布于6年前 收藏

现在很多Nosql的数据库,比如mongodb,redis,虽然支持身份验证,但已经大大弱化了,而且默认都是关闭的,需要特殊设置才打开。为什么mysql必须要登录呢,反正都是暴露给内网用户,而且很多小型网站数据库跟服务器都是在一台机器上,那就更没必要了。如果有人把你的服务器给攻破了,你数据库设置再复杂的密码也没用。

那么是不是mysql的身份验证已经无关紧要了?或者我们就用很弱的密码口令也无所谓了?

 标签:nosqlmysql

讨论这个帖子(3)垃圾回帖将一律封号处理……

Lv 牛魔王
素材牛 PHP开发工程师 6年前#1

有时候,数据在业务上分敏感数据和一般数据,关系型数据库可以分表分字段对不同的用户提供不同的权限。有了权限控制,可以防止无关的人查看敏感数据,或者避免误操作等等等等。身份验证这个概念必将万古长青,是不是用口令登录是另外一说。

NoSQL的主要特点是简单,不是先进。

Lv3 码奴
空***子 职业无 6年前#2

应该是历史原因吧,传统的DBMS都是强口令验证的,比如Oracle,SQL Server等,如果不考虑安全问题,就仅仅是一个用户习惯问题,如果mysql现在改成弱口令,估计很多人反而不习惯了

Lv6 码匠
lo***ou 职业无 6年前#3

身份验证(Authentication)是授权(Authorization)的基础。

首先说明一下,MySQL的Authentication不仅仅包含用户名+密码+客户端ip方式,还有包含ldap和socket等多种方式。
参考:http://dev.mysql.com/doc/refman/5.5/e...

在没有身份验证的情况下,客户端可以声称自己是任何一个用户,比如root,从而实现对数据库的绝对访问权限,此时,任何授权都已经没有意义。

多应用共享同一个数据库服务器的情况下,通常要严格限制用户的权限范围,在服务器遭到入侵的情况下,也可以保证同一台数据库服务器上的其他数据不受影响。

 文明上网,理性发言!   😉 阿里云幸运券,戳我领取