Search K
Appearance
👇公众号👇---👇 微信 👇
有缘人请我喝杯咖啡吧
👇 微信 👇---👇支付宝👇
Appearance
TIP
Mysql Binlog是二进制格式的日志文件 Binlog是用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复
show variables like 'log_bin';
show global variables like "binlog%";
show variables like 'log_%';
show master logs;
show master status;
flush logs;
reset master;
修改mysql的my.cnf
配置文件,一般默认是在/etc/my.cnf路径下,简单开启binlog demo 在mysqld
区块下添加
#开启binlog日志
log_bin=ON
#binlog日志的基本文件名
log_bin_basename=/var/lib/mysql/mysql-bin
#binlog文件的索引文件,管理所有binlog文件
log_bin_index=/var/lib/mysql/mysql-bin.index
#配置serverid
server-id=1
#加入此参数才能记录到insert语句
binlog_format=MIXED
/www/server/mysql/bin/mysqlbinlog --start-datetime="2022-04-23 12:00:00" --stop-datetime="2022-05-11 11:00:00" /www/server/data/mysql-bin.0000* > redata.sql
其中的/www/server/mysql/bin/mysqlbinlog是mysqlbinlog程序的位置,这样写的好处是不用增加配置系统环境变量,start和stop是划定时间段,注意结束时间不能是删除数据库之后的时间,也就是整个时间段必须在删除数据库之前,假如无法精确,那尽量提前到几天前,开始的时间要早于数据库建立的时间,假如记不清,那可以删掉开始时间,简写为
/www/server/mysql/bin/mysqlbinlog --stop-datetime="2022-05-11 11:00:00" /www/server/data/mysql-bin.0000* > redata.sql
注意mysql-bin.0000*的写法是包含了全部所有的数据库信息,执行起来比较费时,假如你可以根据mysql-bin文件的大小和修改时间,确定某个具体的mysql-bin文件,那也可以写具体文件名,例如mysql-bin.000001,一般对应的文件都比较大。
mysql -uroot -p -f 新建数据库名 < redata.sql