要想从二进制日志恢复数据,你需要知道当前二进制日志文件的路径和文件名。一般可以从选项文件(即mycnf or myini,取决于你的系统)中找到路径。如果未包含在选项文件中,当服务器启动时,可以在命令行中以选项的形式给出。启用二进制日志的选项为-- log-bin。要想确定当前的二进制日志文件的文件名,输入下面的MySQL语句:
SHOW BINLOG EVENTS /G
你还可以从命令行输入下面的内容:
mysql --user=root -pmy_pwd -e 'SHOW BINLOG EVENTS /G'
将密码my_pwd替换为服务器的root密码。
1 指定恢复时间
对于MySQL 414,可以在mysqlbinlog语句中通过--start-date和--stop-date选项指定DATETIME格式的起止时间。举例说 明,假设在今天上午10:00(今天是2006年4月20日),执行SQL语句来删除一个大表。要想恢复表和数据,你可以恢复前晚上的备份,并输入:
mysqlbinlog --stop-date="2005-04-20 9:59:59" /var/log/mysql/bin123456 /
mysql -u root -pmypwd
该命令将恢复截止到在--stop-date选项中以DATETIME格式给出的日期和时间的所有数据。如果你没有检测到几个小时后输入的错误的SQL语句,可能你想要恢复后面发生的活动。根据这些,你可以用起使日期和时间再次运行mysqlbinlog:
mysqlbinlog --start-date="2005-04-20 10:01:00" /var/log/mysql/bin123456 /
mysql -u root -pmypwd /
在该行中,从上午10:01登录的SQL语句将运行。组合执行前夜的转储文件和mysqlbinlog的两行可以将所有数据恢复到上午10:00前一秒钟。你应检查日志以确保时间确切。
数据库服务器正在运行时,数据服务器主机突然蓝屏,接着任由发货员如何 *** 作不能再发货,只好关闭了服务器,然后重新启动 ,仍然不能发货(发货员员不懂数据库,不知道数据库因为故障不能启动)。然后打电话给我们请求解决。
2 了解数据库状况:
由于数据库不是我创建的,我得先了解相关的情况:数据库处于非归档模式,没有归档日志可以利用;一直运行良好,从没有备份;数据库每个日志组仅一个重做日志成员;数据库发生灾难后,其当前重做日志组2发生硬盘介质错误。
3 进行恢复
抱着一线希望,我希望归档日志能够切换或者删除,所以分别进行了下列几种方法的 *** 作:
1) alter database drop logfile 'pathredo02log' ;
2) alter database switch logfile ;
遗憾的是以上的命令执行后都返回错误,无法修改。因为数据是处于非归档模式,不能进行日志切换 *** 作,(除非数据库能启动,在启动后可以)。
没有办法,只好修改数据库参数_allow_resetlogs_corruption为真:
_allow_resetlogs_corruption=true
于是,将上面一行加到初始化参数文件中,进入svrmgrl控制台,进行如下 *** 作:
connect internal
startup mount
alter database clear logfile group 2 ;
recover database until cancel ;
alter database open resetlogs ;
alter database open ;
(以下 *** 作中有几步会返回错误,请不要理会提示的错误,继续执行)。
OK! 数据库成功启动加载 。
4 赶快将数据导出或利用PB导出,进行备份。
5 重建数据库,将上一步的数据导入重建的数据库。
这样,数据成功恢复。
1、首先确定myini(Win系统)或mycnf(Linux系统)是否有如下配置
[mysqld]
log-bin=mysql-bin
等号后面是文件名或者路径加文件名。
或者
用命令看是否开启binlog配置:
mysql>
show
master
logs;
mysql>
show
binlog
events
g;
2、提供故障时点描述信息
3、如果开启了binglog那就可以按故障还原点或者时间点进行还原 *** 作了
mysqlbinlog
--start-position=
mysqlbinlog
--start-datetime=
这里语法是进一步查询的线索,不知道你是什么OS、开发还是生产库?不能乱指挥。
备份:做故障还原及数据恢复前切忌做好备份(数据文件以及日志文件)
以上就是关于mysql数据库怎样用日志恢复数据sql语句全部的内容,包括:mysql数据库怎样用日志恢复数据sql语句、candance中,log文件用文本文档打开了,怎么恢复、如何通过mysql的日志恢复数据库 加急求救等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)