Binary Log对mysql的增量备份

回复 收藏
1、启用Binary Log
修改配置文件 /etc/my.cnf,在 mysqld 区块中加上 log-bin=mysql-bin ,然后重新启动 MySQL Server
启动完成 后可在数据目录 下看到如下:
  1. mysql-bin.index
  2. mysql-bin.000001
  3. mysql-bin.000002
2、恢复备份
  1. /usr/local/mysql/bin/mysqlbinlog --start-date="2010-01-01 00:00:01"  /mysqlhome/mysql-bin.* |mysql -u root -p
mysqlbinlog的相参数介绍
--start-date 是指恢复的起始时间
--stop-date 是指恢复的截止时间
--database=database 指定数据库
binary logs的相关操作

1、查找当前有哪些二进制日志文件:

mysql> show binary logs;

2、删除指定的日志

例如删除mysqld-bin.000008以前的日志,注意不包括mysqld-bin.000008在内

mysql> purge binary logs to 'mysqld-bin.000008';

3、指定日期删除
例如删除2010年1月1日10:11:00之前的日志

mysql> purge master logs before '2010-01-01 10:11:00';

4、按天删除

例如删除3天前的 binlog

purge master logs before date_sub( now( ), interval 3 day);
5、修改日志保存天数
sql>set global expire_logs_days=30;
flush logs
这样30天前的log就会被删除了,但这样下次重启mysql后,配置又恢复默认了
要永久设置需在my.cnf中设置
expire_logs_days = 30


查看binlog内容可以用mysqlbinlog  查看 ,如
  1. mysqlbinlog mysql-bin.000022| grep -A10 907387088
  2. #130304 23:31:08 server id 1  end_log_pos 907387088     Query   thread_id=75    exec_time=0     error_code=0
  3. SET TIMESTAMP=1362411068/*!*/;
  4. INSERT INTO pre_common_session SET `sid`='YLy51l',`ip1`='157',`ip2`='55',`ip3`='32',`ip4`='143',`uid`='0',`username`='',`groupid`='7',`invisible`='0',`action`='2',`lastactivity`='1362411065',`fid`='0',`tid`='0',`lastolupdate`='0'
  5. /*!*/;
  6. # at 907387088
2012-10-25 14:48 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: