| 您的当前位置:首页 --> MYSQL教程 --> MySQL中的binlog相关命令和恢复技巧 |
| MYSQL教程 MySQL中的binlog相关命令和恢复技巧 |
| 浏览次数:980 关键词 ( ) |
| 查看使用该CPU的产品 查看CPU天梯 |
| CPU型号:MySQL中的binlog相关命令和恢复技巧 |
| 主频:Ghz |
| 睿频:Ghz |
| 核心数:个 |
| 不支持超核心 |
| 制作工艺: |
| 插槽类型: |
| 功耗:0W |
| L3缓存:0MB |
| 支持最大内存: 0GB |
| CPU详细参数 |
|
操作命令: 复制代码 代码如下: show binlog events in 'mysql-bin.000016' limit 10;
reset master 删除所有的二进制日志 show master logs; 或者 show binary logs; 查看二进制文件列表和文件大小 复制代码 代码如下: ./mysqlbinlog --start-datetime="2012-05-21 15:30:00" --stop-datetime="2012-05-21 16:40:00" /binlog/mysql-bin.000005 > a.log 2. 要想通过日志恢复数据库,在你的 my.cnf 文件里应该有如下的定义,log-bin=mysql-bin,这个是必须的 复制代码 代码如下: [mysqld]
log-bin=mysql-bin binlog-do-db=db_test binlog-do-db=db_test2 3.删除二进制日志: 复制代码 代码如下: mysql> reset master (清空所有的二进制日志文件) purge master logs to 'mysql-bin.000006'; (删除mysql-bin.000006之前的二进制日志文件) purge master logs before '2007-08-10 04:07:00' (删除该日期之前的日志) 在my.cnf 配置文件中[mysqld]中添加: 复制代码 代码如下: expire_logs_day=3 设置日志的过期天数,过了指定的天数,会自动删除
4.下面就是恢复操作了 技巧1: 技巧2: 技巧3: 要想确定当前的二进制日志文件的文件名,输入下面的MySQL语句: 复制代码 代码如下: SHOW BINLOG EVENTS
1. 指定恢复时间 复制代码 代码如下: mysqlbinlog –stop-date="2005-04-20 9:59:59" /var/log/mysql/mysql-bin.000001 | mysql -u root -pmypwd
该命令将恢复截止到在 –stop-date 选项中以DATETIME格式给出的日期和时间的所有数据。如果你没有检测到几个小时后输入的错误的SQL语句,可能你想要恢复后面发生的活动。根据这些,你可以用起使日期和时间再次运行mysqlbinlog: 复制代码 代码如下: mysqlbinlog –start-date="2005-04-20 10:01:00" /var/log/mysql/mysql-bin.000001 | mysql -u root -pmypwd
2. 指定恢复位置 复制代码 代码如下: mysqlbinlog –start-date="2005-04-20" –stop-date="2005-04-20" /var/log/mysql/mysql-bin.000001 > /tmp/mysql_restore.sql
该命令将在/tmp目录创建小的文本文件,将显示执行了错误的SQL语句时的SQL语句。你可以用文本编辑器打开该文件,寻找你不要想重复的语句。如果二进制日志中的位置号用于停止和继续恢复操作,应进行注释。用log_pos加一个数字来标记位置。使用位置号恢复了以前的备份文件后,你应从命令行输入下面内容: 复制代码 代码如下: mysqlbinlog –stop-position="368312" /var/log/mysql/mysql-bin.000001 | mysql -u root -pmypwd mysqlbinlog –start-position="368315"/var/log/mysql/mysql-bin.000001 | mysql -u root -pmypwd 上面的第1行将恢复到停止位置为止的所有事务。下一行将恢复从给定的起始位置直到二进制日志结束的所有事务。因为mysqlbinlog的输出包括每个SQL语句记录之前的SET TIMESTAMP语句,恢复的数据和相关MySQL日志将反应事务执行的原时间。 |
| 下一个产品 SQL计算timestamp的差值的方法 上一个产品 Mysql权限管理grant命令使笔记 |