如何避免数据库被黑

事情的起因从数据库被黑开始…

先前租了一台服务器,里面部署了Mysql服务,当时密码随便设置了下

过了段时间上去一看,所有库里都剩下一张WARING表,长这样

我还以为里面会有勒索的数据,打开一看啥数据都没(这感觉就像一个小偷闯入家中,一看这个家一贫如洗,啥都没干就走了)

这些黑客真是可恶,还瞧不起人。还好我的表都有备份,没造成任何损失。

接下来讲如何避免再一次被黑客光顾…

首先密码设置的很简单,暴力破解分分钟被破解出密码了。所以我们的思路是设置复杂用户密码,并把root用户禁用掉。

先用root账户登录,进入mysql库,然后

  1. 创建用户

语句格式:CREATE USER ‘用户名’@‘host’ IDENTIFIED BY ‘密码’;

例子:

CREATE USER ‘rgJ9eh6h5VK1fojJ’@’%’ IDENTIFIED BY ‘9sISdnHUbngg53eUYTMLimocvop4Peeh’;
2.授权用户

语句格式:GRANT privileges ON databasename.tablename TO ‘用户名’@‘host’;

其中privileges:表示要授予权限,有 select , insert ,delete,update等,全部权限为 ALL

例子:

grant all on . to ‘rgJ9eh6h5VK1fojJ’@’%’;
3.执行刷新语句

flush privileges;
这一步很重要,不执行的话上面两个语句不会生效。

此处为分割线====

现在一个安全性比较高的用户已经创建好了,接下来禁止root用户远程访问。

1.修改root的host

update user set host = ‘localhost’ where user = ‘root’ and host = ‘%’;
2.执行刷新语句

flush privileges;
再次提醒,这一步很重要哦。

上一篇:阿里云服务器的Mysql连接不上的问题


下一篇:Mysql 添加用户并授所有权