事情的起因从数据库被黑开始…
先前租了一台服务器,里面部署了Mysql服务,当时密码随便设置了下
过了段时间上去一看,所有库里都剩下一张WARING表,长这样
我还以为里面会有勒索的数据,打开一看啥数据都没(这感觉就像一个小偷闯入家中,一看这个家一贫如洗,啥都没干就走了)
这些黑客真是可恶,还瞧不起人。还好我的表都有备份,没造成任何损失。
接下来讲如何避免再一次被黑客光顾…
首先密码设置的很简单,暴力破解分分钟被破解出密码了。所以我们的思路是设置复杂用户密码,并把root用户禁用掉。
先用root账户登录,进入mysql库,然后
- 创建用户
语句格式: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;
再次提醒,这一步很重要哦。