让MySQL数据库自动恢复的具体操作

2016-01-29 14:52 6 1 收藏

让MySQL数据库自动恢复的具体操作,让MySQL数据库自动恢复的具体操作

【 tulaoshi.com - MySQL 】

如果MySQL服务器启用了二进制日志,你可以使用mysqlbinlog工具来恢复从指定的时间点开始 (例如,从你最后一次备份)直到现在或另一个指定的时间点的数据。“mysqlbinlog:用于处理二进制日志文件的实用工具”。

要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即my.cnf or my.ini,取决于你的系统)中找到路径。如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出。启用二进制日志的选项为--log-bin。要想确定当前的二进制日志文件的文件名,输入下面的MySQL语句:

SHOW BINLOG EVENTS G

你还可以从命令行输入下面的内容:

mysql --user=root -pmy_pwd -e 'SHOW BINLOG EVENTS G'

将密码my_pwd替换为服务器的root密码。

1. 指定恢复时间

对于MySQL 4.1.4,可以在mysqlbinlog语句中通过--start-date和--stop-date选项指定DATETIME格式的起止时间。举例说明,假设在今天上午10:00(今天是2006年4月20日),执行SQL语句来删除一个大表。要想恢复表和数据,你可以恢复前晚上的备份,并输入:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin.123456     | mysql -u root -pmypwd

该命令将恢复截止到在--stop-date选项中以DATETIME格式给出的日期和时间的所有数据。如果你没有检测到几个小时后输入的错误的SQL语句,可能你想要恢复后面发生的活动。根据这些,你可以用起使日期和时间再次运行mysqlbinlog:

mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin.123456     | mysql -u root -pmypwd 

在该行中,从上午10:01登录的SQL语句将运行。组合执行前夜的转储文件和mysqlbinlog的两行可以将所有数据恢复到上午10:00前一秒钟。你应检查日志以确保时间确切。下一节介绍如何实现。

2. 指定恢复位置

也可以不指定日期和时间,而使用mysqlbinlog的选项--start-position和--stop-position来指定日志位置。它们的作用与起止日选项相同,不同的是给出了从日志起的位置号。使用日志位置是更准确的恢复方法,特别是当由于破坏性SQL语句同时发生许多事务的时候。要想确定位置号,可以运行mysqlbinlog寻找执行了不期望的事务的时间范围,但应将结果重新指向文本文件以便进行检查。操作方法为:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/mysql/)

mysqlbinlog --start-date="2005-04-20 9:55:00" --stop-date="2005-04-20 10:05:00"     /var/log/mysql/bin.123456  /tmp/mysql_restore.sql

该命令将在/tmp目录创建小的文本文件

来源:http://www.tulaoshi.com/n/20160129/1494535.html

延伸阅读
标签: MySQL mysql数据库
在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。有时,正是MySQL管理员造成破坏。管理员已经知道表以破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事! 备份数据库两个主要方法是用mysqldump程序或直接拷贝数...
phpMyBackupPro 是一个一个专业的MySql备份工具。可以备份多服务器、多数据库,可以将数据备份到ftp或email,可以自动备份、可以设置备份的计划任务,可以还原数据库、在线执行SQL语句, 生成UTF-8格式的文档。 phpMyBackupPro简介 主要特点: 1.可以选择备份一个或几个数据库,并可以选择是只备份表格结构还是包含数据。 ...
一、MySQL下载与安装 1、下载介绍 MySQL相信大家一定听说过,如果不知道它是干什么的,可以去google一下。 MySQL的大本营:http://www.mysql.com/ MySQL的下载地址:http://dev.mysql.com/downloads/ 因为要从这个地址下载不少东东,所以详细分析一下这个网页。 关于镜像网站,没有大陆的,有香港和台湾的。选择它,是为...
MySQL密码的恢复方法 如果忘记了MySQL的root密码,可以用以下方法重新设置: 1. KILL掉系统里的MySQL进程; killall -TERM mysqld 2. 用以下命令启动MySQL,以不检查权限的方式启动; safe_mysqld --skip-grant-tables & 3. 然后用空密码方式使用root用户登录 MySQL; mysql -u root 4. 修改roo...
一、前言: 当数据库服务器建立好以后,我们首先要做的不是考虑要在这个支持数据库的服务器运行哪些受MySQL提携的程序,而是当数据库遭到破坏后,怎样安然恢复到最后一次正常的状态,使得数据的损失达到最小。 或者说,仅仅是数据库服务器的建立,只能说明它能做些什么,并不代表它能稳定的做些什么。灾难恢复的效率及全面性,也是系统的稳...

经验教程

20

收藏

24
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部