MYSQL教程:使用备份恢复数据_MySQL
程序员文章站
2022-03-08 11:24:57
...
恢复过程包括两个信息源---备份文件和二进制日志,备份文件可使用数据恢复到执行备份时的状态,而二进制日志可恢复到发生故障时的状态。下面分别介绍如何利用这两个文件恢复一个数据库或恢复单个数据表。
恢复整个数据库的步骤:
把需恢复的数据库的整个目录的内容拷贝到其它地方,以备用。
使用最近的备份文件重载数据库。如果使用mysqldump生成的备份,则可使用它们作为mysql的输入重载;如果是通过拷贝数据库目录来备份的,则要关闭数据库服务器,再把备份重新拷贝到数据目录,再重启数据库服务器。
通过二进制日志重做事务,恢复到出错点的数据。具体操作是这样的,用mysqlbinlog把日志转换成ASCII格式,再把它作为mysql的输入,并指定--one-database选项,以便mysql只执行你指定的数据库恢复。如:
% ls -t -r -l binlog.[0-9]* | xargs mysqlbinlog | mysql --one-database db_name
但上面命令只适合所有日志文件名具有相同长度的情况。否则需用下面的Perl代码来处理:
#!/usr/bin/perl -w
# sort_num.pl
use strict;
my @files = ; #read all input file
@files = sort { my $anum = $1 if $a =~/.(d+)$/; #sort them by numeric extension
my $bnum = $1 if $b =~/.(d+)$/;
$anum $bnum;
} @files;
print @files; #print them
exit(0);
推荐阅读
-
php实现mysql数据库备份类
-
使用POI将Mysql或Oracle中的数据导入到Excel中去_MySQL
-
使用mysqldump定时备份数据库的脚本_MySQL
-
MySQL的使用中实现读写分离的教程_MySQL
-
php 链接 mysql 数据库无法使用 localhost ,只能用 127.0.0.1
-
自动恢复MySQL数据库的日志文件思路分享及解决方案_MySQL
-
PHP到MySQL数据查询过程概述_PHP教程
-
SELECT into outfile备份数据库数据_MySQL
-
mysql数据库使用SQLyog 导入中文 csv 文件出现乱码 解决
-
使用 MySQL Date/Time 类型_PHP教程