Xd放弃了数据库。binlog和xtt提供了这篇文章以供参考。希望能恢复。转载开始。
如果mysql服务器启用了二进制日志记录,您可以使用mysqlbinlog工具恢复从指定时间点(例如,从上次备份)到现在或另一个指定时间点的数据。"Mysqlbinlog:用于处理二进制日志文件的实用程序”。
要从二进制日志中恢复数据,您需要知道当前二进制日志文件的路径和文件名。通常,您可以从选项文件中找到路径(即my.cnf或my.ini,具体取决于您的系统)。如果它没有包含在选项文件中,可以在服务器启动时在命令行中作为一个选项给出。启用二进制日志的选项是& ndash木箱子.要确定当前二进制日志文件的文件名,请输入以下MySQL语句:
显示BINLOG事件G
您也可以从命令行输入以下内容:
mysql & ndashuser = root-pmy _ pwd-e & lsquo;显示BINLOG事件G & rsquo
将密码my_pwd替换为服务器的root密码。
1.指定恢复时间
对于MySQL 4.1.4,可以通过& ndash在mysqlbinlog语句中。开始日期和& ndash停止日期选项指定日期时间格式的开始和结束时间。例如,假设今天上午10:00(今天是2006年4月20日),执行SQL语句删除一个大表。要恢复表和数据,您可以恢复前一天晚上的备份,并输入:
mysqlbinlog & ndash停止日期= & quot2005年4月20日9:59:59 & Prime;/var/log/mysql/bin.123456
| mysql -u root -pmypwd
该命令将继续执行,直到& ndash停止日期选项中以日期时间格式给出的所有日期和时间数据。如果几个小时后没有检测到输入的错误SQL语句,也许您想恢复后面的活动。根据这些,您可以使用日期和时间再次运行mysqlbinlog:
mysqlbinlog & ndash开始日期= & quot2005年4月20日10:01:00 & Prime;/var/log/mysql/bin.123456
| mysql -u root -pmypwd
在这一行中,将运行从上午10:01开始登录的SQL语句。结合前一天晚上的转储文件和mysqlbinlog的两行,可以将所有数据恢复到上午10:00之前的一秒钟。你应该检查日志以确保时间是正确的。下一节将描述如何实现它。
2.指定恢复位置。
也可以使用mysqlbinlog的选项来代替指定日期和时间& ndash起始位置和& ndashStop-position指定日志位置。它们的功能与开始和结束日期选项相同,只是它们给出了日志中的位置编号。使用日志位置是一种更准确的恢复方法,尤其是当由于破坏性的SQL语句而导致许多事务同时发生时。要确定位置号,可以运行mysqlbinlog来查找执行意外事务的时间范围,但是结果应该被重定向到一个文本文件中进行检查。方法是:
mysqlbinlog & ndash开始日期= & quot2005年4月20日9:55:00 & Prime;& ndash停止日期= & quot2005-04-20 10:05:00 & Prime;
/var/log/MySQL/bin . 123456 & gt;/tmp/mysql_restore.sql
该命令将在/tmp目录中创建一个小文本文件,当执行错误的SQL语句时,该文件将显示SQL语句。您可以用文本编辑器打开文件,查找不想重复的语句。如果二进制日志中的位置号用于停止和继续恢复操作,则应进行注释。用log_pos加一个数字标记位置。使用位置号恢复以前的备份文件后,您应该从命令行输入以下内容:
mysqlbinlog & ndash停止位置= & quot368312 & Prime/var/log/mysql/bin.123456
| mysql -u root -pmypwd
mysqlbinlog & ndash开始位置= & quot368315 & Prime/var/log/mysql/bin.123456
| mysql -u root -pmypwd
上面的第一行将把所有交易恢复到停止位置。下一行将从给定的起始位置恢复所有事务,直到二进制日志结束。因为mysqlbinlog的输出在每个SQL语句记录之前包含SET TIMESTAMP语句,所以恢复的数据和相关的MySQL日志将反映事务执行的原始时间。
关键词:MySQL数据库
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227258.html