今天发现数据库连接不上了,一看服务器 家被人偷了 ,库还在只剩下一个表README。以下数据库已被删除:xxx, xxx。 我们有完整的备份。 要恢复它,您必须向我们的比特币地址xxxx支付0.028比特币(BTC)。 如果您需要证明,请通过以下电子邮件与我们联系。xxx 。 任何与付款无关的邮件都将被忽略!
前言
服务器中安装了mysql是支持远程登录的结果,今天发现远程连接不上了,然后进行了对服务器中mysql进行查看发现库还在,只有一个表README,并且内容是说:以下数据库已被删除:xxx, xxx。 我们有完整的备份。 要恢复它,您必须向我们的比特币地址xxxx支付xxx比特币(BTC)。 如果您需要证明,请通过以下电子邮件与我们联系。xxx 。 任何与付款无关的邮件都将被忽略! 接下来的是对mysql进行更安全一点的配置,以下仅作为自己的记录,如有大佬看到请多指教
一、设置固定ip授权访问,以及开启 binlog,安全的加强
1.重新获得远程的权限
本来之前是支持远程访问的但是现在被黑客黑了所以得重新执行一下命令:
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option; #这里第一个root是用户名,第二个是密码,% 代表对所有 IP 开放权限,也可以设置单独的 IP
flush privileges;
执行完成之后果然可以重新登录了
2.修改远程权限指定固定ip授权
查看授权
mysql>show grants;
对固定ip授权:
不使用%对所有ip授权,仅对固定ip授权,减少可能的恶意访问。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'x.x.x.x' IDENTIFIED BY 'xxx';
mysql>flush privileges;
3.删除不限ip的用户
drop user root@'%'
4.修改root默认密码
默认 root 账户的密码是 root,比较简单为了提高安全性,防止再次被黑客破解,需要修改密码。
mysql> update user set authentication_string=password('密码') where user='root';
5.开启 binlog 方便恢复数据
输入命令
show VARIABLES LIKE 'log_%';
查看是否已经开启 ,我这里是之前是关闭的已经开启好了,如果是关闭的话下面是开启的教程
linux中编辑
vim /etc/my.cnf
添加下面三段
然后重启
service mysql restart就欧克了
可以在 /var/lib/mysql中查看下以mysql-bin.00000X等做名称,而mysqld-bin.index则是记录了所有的log的文件名称
总结
主要对mysql进行了指定ip授权的配置,希望能对你有用