mysql在windows下配置binlog

520 阅读1分钟

什么是binlog?为什么用binlog?

  • binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。
  • 当我们在操作数据库时,某些失误操作会导致数据丢失或修改错误,导致数据无法找回,这时候就用到了binlog

开启步骤

	show variables like 'log_%';

  • 如果未开启状态为OFF,需要手动开启,打开my.ini文件,可以通过命令查找my.ini文件位置
    SELECT @@datadir
    
    用记事本打开my.ini,在mysqld下面添加
    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每个日志文件大小;
    
    配置好my.ini后保存,重启mysql,会在你mysql下出现mysqlbin.000001\color{red}{mysql-bin.000001}mysqlbin.index\color{red}{mysql-bin.index}两个文件,其中mysqlbin.000001\color{red}{mysql-bin.000001}用来记录了所有DDL与DML(select除外)语句,是二进制文件
  • 当你开启或已配置好mysqlbinlog后
	#查看日志列表
    show master status;
    #查看指定文件
    show binlog events in 'mysql-bin.000001'