MariaDB二进制日志
阅读原文时间:2021年04月21日阅读:1

二进制日志主要记录数据库的变化情况,通过二进制文件可以查询数据库进行了哪些改变。

启动和设置二进制日志

二进制日志默认关闭,我们可以在配置文件中开启二进制日志功能。

[mysqld]
log-bin

这样二进制日志功能就开启了,log-bin后面还可以加上二进制文件的存储路径和文件名。二进制文件的文件名格式为filename.number,number的形式为000001、000002等,每次重启数据库服务后,都会生成一个新的二进制日志文件。除了这个文件,还会生成一个filename.index文件,该文件记录所有二进制日志文件清单。

查看二进制日志

使用二进制格式可以存储更多的信息,并且可以使写入二进制日志的效率更高,但是我们不能直接打开并查看二进制日志,而必须使用mysqlbinlog命令。

删除二进制日志

二进制日志会记录大量信息,如果长时间不清理二进制日志,就会浪费很多磁盘空间。

删除所有二进制日志
reset master;
根据编号删除二进制日志
purge master logs to '101-bin.000001';

使用二进制日志还原数据库

二进制日志记录了用户对数据库数据的改变,如insert、update或者create语句都会被记录在内,当数据库被破坏,我们可以用二进制日志来恢复数据。

mysqlbinlog /var/lib/mysql/mysql-bin.000004 --start-position=1066 --stop-position=1275 |mysql -uroot -p123

暂停二进制日志功能

如果我们不希望我们执行的某些SQL语句被记录在二进制日志中,就可以在执行前暂停二进制日志功能。

暂停二进制日志功能
set sql_log_bin=0;
开启二进制日志功能
set sql_log_bin=1;