什么是binlog?为什么用binlog?
- binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。
- 当我们在操作数据库时,某些失误操作会导致数据丢失或修改错误,导致数据无法找回,这时候就用到了binlog
开启步骤
show variables like 'log_%';
- 如果未开启状态为OFF,需要手动开启,打开my.ini文件,可以通过命令查找my.ini文件位置
用记事本打开my.ini,在mysqld下面添加SELECT @@datadir配置好my.ini后保存,重启mysql,会在你mysql下出现和两个文件,其中用来记录了所有DDL与DML(select除外)语句,是二进制文件server_id=1918 #binlog日志文件,以mysql_bin开头,六个数字结尾的文件:mysql-bin.000001(可指定路径,这里用默认) log_bin = mysql-bin #binlog日志格式,默认为STATEMENT:每一条SQL语句都会被记录;ROW:仅记录哪条数据被修改并且修改成什么样子。 binlog_format = ROW #expire_logs_days= 7 #binlog过期清理时间; #max_binlog_size = 100m #binlog每个日志文件大小; - 当你开启或已配置好mysqlbinlog后
#查看日志列表
show master status;
#查看指定文件
show binlog events in 'mysql-bin.000001'