安装MySQL为什么要创建MySQL用户

Deathlightning
  • 41

在网上查询得,这样做可以保证即使数据库被入侵,入侵者也只能拿到MySQL账户权限,拿不到root权限。觉得很迷,数据库被黑了,为什么会拿到Linux的账户权限呢。那到底为什么MySQL官方也推荐新建一个MySQL账户去安装MySQL呢

回复
阅读 4.5k
2 个回答
fefe
  • 12.9k
✓ 已被采纳

SELECT ... INTO OUTFILE ... 是可以写文件的。

MySQL 开在 root 上意味着它可以在系统的任何位置写任何文件。

MySQL 攻击可以利用 sql injection 跟上面写文件的语句,在系统特定位置写特定的文件,可以在系统上执行任何命令,包括拿到一个 shell 。(细节就不说了,我也没搞过,想知道自己搜吧 ...)

MySQL 开在 mysql 用户上,保证它对系统大部分位置不可写,从而 MySQL 即使被攻击,也可以限制它对整个系统的影响。

Buchs
  • 3
新手上路,请多包涵

这里说的root权限应该是mysql 的root账户。 自己创建的账户只能访问对应的数据库,而root可以访问mysql下的所有数据库

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏