8月23号,不少使用宝塔面板7.4.2的网站都被批量删库!甚至是政府网也无一幸免!
正题
二进制日志记录了由开启到停止所有数据库的所有增删改操作(这里的数据库指的是mysql里面的所有数据库),所以只能恢复出现过的sql语句的数据;适用于数据灾难的、证据库总体和高精度的恢复;此方法不适合日常的数据恢复,所以平常要做好数据备份!
此方法在使用前做好创建快照的准备(如备份整个服务器)。03
通过宝塔二进制日志恢复数据库
系统环境:
操作系统:CentOS 系统;
WEB服务:PHP+Mysql+apache/nginx;
网站:自建的演示站;
打开百度APP,查看更多高清图片
先登陆Mysql
指令: mysql -h localhost -u root -p 输入你的数据库密码
登陆成功
当出现 mysql> 代表你已成功登录数据库!
1、检查mysqlbinlog日志功能,图中返回 NO代表开启,OFF代表未开启
默认都是开启的,不要手欠给关了
如何开启二进制日志?
window需要修改my.in文件,linux需要修改my.conf
在[mysqld]下面加上一行log-bin=D:\\mysql\\bin-log\\mysql-binlog
修改后重启mysql
会发现d:/mysql/bin-log/下多了mysql-binlog.index、mysql-binlog.000001这两个文件,mysql-binlog.index为文件的索引文件,mysql-binlog.000001为二进制日志文件
首先我们mysql命令行中,用“show master logs;”或 “show binary logs;”命令查看已有的binlog文件。
使用上面的命令
然后查看当前二进制日志文件状态“show master status;”
查看当前状态
恢复数据库
mysqlbinlog命令用于将二进制日志文件恢复数据库
主要的参数有
–start-date(指定开始日期,时间格式为2020-08-23 10:14:51,恢复到这个时间之后的数据,包括此时间)
–stop-date(指定结束时间,时间格式为2020-08-23 23:15:50,恢复到这个时间段之前的,不包括此指定时间)
例子,上面参数是可以单独一个使用
[root@iz2ze5ejo1w2tviavu3m3xz ~]# \mysql\bin-log>mysqlbinlog –start-date=”2020-08-23 10:14:51″ –stop-date=”2020-08-23 23:15:50″ mysql-binlog.000012 | mysql -uroot -proot
–start-position(指定开始位置,恢复到此位置之后的数据,包括此位置)
–stop-position(指定结束位置,恢复此位置之前的数据,不包括此位置)
[root@iz2ze5ejo1w2tviavu3m3xz ~]# \mysql\bin-log>mysqlbinlog –start-position=951 –stop-position=1391 mysql-bin
log.000012 | mysql -uroot -proot
然后回到数据库表再看看是否恢复
教程结束,希望本教程能帮到你
转载于夏柔
测试