1、启用Binary Log
修改配置文件 /etc/my.cnf,在 mysqld 区块中加上 log-bin=mysql-bin ,然后重新启动 MySQL Server
启动完成 后可在数据目录 下看到如下:2、恢复备份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 查看 ,如
修改配置文件 /etc/my.cnf,在 mysqld 区块中加上 log-bin=mysql-bin ,然后重新启动 MySQL Server
启动完成 后可在数据目录 下看到如下:
- mysql-bin.index
- mysql-bin.000001
- mysql-bin.000002
- /usr/local/mysql/bin/mysqlbinlog --start-date="2010-01-01 00:00:01" /mysqlhome/mysql-bin.* |mysql -u root -p
--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 查看 ,如
- mysqlbinlog mysql-bin.000022| grep -A10 907387088
- #130304 23:31:08 server id 1 end_log_pos 907387088 Query thread_id=75 exec_time=0 error_code=0
- SET TIMESTAMP=1362411068/*!*/;
- 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'
- /*!*/;
- # at 907387088
编辑回复