MySQL数据库中,二进制日志和其他日志差别很大,二进制日志的实际功能在于备份,在日常生产中备份非常重要,因为二进制日志里记录的是数据库的增删改的操作,它会把数据库除查询以外所有的增删改都记录在日志中,所以可以把二进制日志理解成数据备份,而不是仅仅当成一个日志,它的记录形式分三种,一种是基于语句型的记录,MariaDB10.2.3之前的版本默认都是语句型记录格式,这种形式只记录执行的命令的本身,优势是空间占用较小,记录的日志量比较少,但是由于生成的日志数量过于精简,不能够用于将来数据的还原,所以不太推荐使用这种日志格式,还有一种是混合型记录格式,MariaDB10.2.4版本以上默认的记录格式,介于前两者之间,有时会以语句格式记录,有时会以行格式记录,记录形式的选择是数据库默认判断的,所以也不太推荐,工作中更建议使用行的记录格式,行的记录格式指的是记录你修改过哪些字段哪些行和修改过程,相对语句型记录要更详细一些,所以真正可以作为备份手段的,安全的日志格式应该是行记录。
二进制日志并不是日志的角色,是备份角色,既然是备份角色,在日常生产中建议独立存放,不要和数据库放在一起,如果数据库数据丢了,二进制文件也就丢了,那么它的备份效果也就没有什么实质意义了,独立存放的话,将来二进制日志只要不丢,数据库的数据丢了,用二进制日志是可以还原数据的,可以通过log_bin来定义二进制日志的路径,完整的格式是文