binlog日志
记录除查询以外的所有sql命令
可用于数据恢复
配置mysql主从同步的必要条件
vim /etc/my.cnf[mysql]log_binserver_id=100systemctl restart mysqld //重启mysql
主机名-bin.index
主机名-bin.000001
手动生成新的日志文件
1、mysql>flush logs;不在数据库的命令2、mysqldump 指定数据库 --flush-logs3、mysql -u root -p password -e \"flush logs\" //通过密码在数据库中执行指令
删除binlog日志
删除早于指定版本的binlog日志
purge master logs to “binlog文件名”
重建日志并删除之前的所有日志
reset master
数据库中查看biglog日志格式
show variables like “binlog_format”
statement:每一条修改数据的sql命令都会记录在binlog日志中
row:不记录sql语句上下文相关信息,仅保存哪条记录被修改
mixed:是以上两种格式的混合使用
修改日志的记录格式为:mixed
vim /etc/my.cnf[mysql]binlog_format=mixedsystemctl restart mysqld
从日志恢复数据库
mysqlbinlog /var/lib/mysql/calvin-bin.000002 //查看日志文件//在日志文件中找到需要恢复的开始时间与结束时间mysqlbinlog--start-datetime=\"2020-07-25 15:17:46\"--stop-datetime=\"2020-07-25 15:18:30\"/var/lib/mysql/calvin-bin.000002 | mysql -u root -p
恢复所有的数据库
mysqlbinlog /var/lib/mysql/calvin-bin.000002 | mysql -u -root -p