MySQL开启Binlog日志:开启精确追踪功能(mysql开启binlog日志)

MySQL的Binlog日志采用两种模式:Statement mode (默认模式)和 Row mode,其中Statement模式用来记录连接使用的SQL语句,Row模式记录SQL语句对数据表操作的细节,比如插入、更新、删除和更改操作等。两种模式对开发人员进行程序调试和数据恢复,可以精确跟踪每一条SQL语句,实现数据变更的精确追踪,进而用于数据库安全,程序调试等诸多场景。

MySQL的Binlog日志文件默认情况下是关闭的,如果需要开启Binlog日志,需要修改MySQL的配置文件。MySQL的配置文件一般都位于/etc/my.cnf,打开该文件,修改后保存更新:

[mysqld]

log-bin=/var/log/mysql/binlog

log_bin_trust_function_creators=1

server-id=1

expire_logs_days=5

log-slave-updates=1

在上述配置中,开启了Binlog日志,并将日志文件记录在/var/log/mysql/binlog路径下,expire_logs_days用于限制日志文件的过期天数,最后一行表示如果日志文件同步的服务器(即从服务器)上有变动,也会记录在日志文件中。

完成配置文件修改之后,执行以下命令以重新启动MySQL服务:

# service mysql restart

重新启动之后,就可以在/var/log/mysql/binlog路径下查看MySQL的Binlog日志了。MySQL的Binlog日志是逐行记录数据库变更,例如:

#1511160600#42#Query#INSERT INTO orders (customer_id, order_total) VALUES (123, 200.00)

#1511163800#42#Query#UPDATE orders SET order_total = 300.00 WHERE order_id = 456

从上述日志中可以看出,MySQL的Binlog日志可以用来精确追踪SQL语句的变动,提供快照及时的信息,便于数据恢复和程序调试等操作,是一项非常重要的技术。


数据运维技术 » MySQL开启Binlog日志:开启精确追踪功能(mysql开启binlog日志)