在网上查询得,这样做可以保证即使数据库被入侵,入侵者也只能拿到MySQL账户权限,拿不到root权限。觉得很迷,数据库被黑了,为什么会拿到Linux的账户权限呢。那到底为什么MySQL官方也推荐新建一个MySQL账户去安装MySQL呢
在网上查询得,这样做可以保证即使数据库被入侵,入侵者也只能拿到MySQL账户权限,拿不到root权限。觉得很迷,数据库被黑了,为什么会拿到Linux的账户权限呢。那到底为什么MySQL官方也推荐新建一个MySQL账户去安装MySQL呢
5 回答1.5k 阅读
2 回答2.2k 阅读
3 回答722 阅读✓ 已解决
1 回答1k 阅读
1 回答680 阅读✓ 已解决
1 回答973 阅读
1 回答857 阅读
SELECT ... INTO OUTFILE ...
是可以写文件的。MySQL 开在 root 上意味着它可以在系统的任何位置写任何文件。
MySQL 攻击可以利用 sql injection 跟上面写文件的语句,在系统特定位置写特定的文件,可以在系统上执行任何命令,包括拿到一个 shell 。(细节就不说了,我也没搞过,想知道自己搜吧 ...)
MySQL 开在 mysql 用户上,保证它对系统大部分位置不可写,从而 MySQL 即使被攻击,也可以限制它对整个系统的影响。