如何使用mysqldump备份异机恢复数据库

106次阅读
没有评论

共计 3000 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章给大家分享的是有关如何使用 mysqldump 备份异机恢复数据库的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

使用 mysqldump 备份异机恢复数据库

1、创建测试数据库
mysql create database allen;
Query OK, 1 row affected (0.01 sec)

mysql use allen;
Database changed
mysql create table tab1 (ID tinyint unsigned not null primary key auto_increment,Name char(20) not null unique key,Age tinyint unsigned,Gender char(1) default M
Query OK, 0 rows affected (0.38 sec)

mysql insert into tab1 (Name,Age,Gender) values (Zhang WuJi ,26, M),(Zhao Min ,24, F
Query OK, 2 rows affected (0.05 sec)
Records: 2  Duplicates: 0  Warnings: 0

2、完全备份 allen 数据库
[root@mysql ~]# mysqldump -uroot -puplooking –lock-all-tables –routines –events –triggers –master-data=2 –flush-logs –databases allen /backup/allen_`date +

%F`.sql

3、基于二进制日志(上一次完全备份到目前日志所处的位置)做增量备份
mysql create table tab2 (ID tinyint unsigned not null primary key auto_increment,Name char(20) not null unique key,Age tinyint unsigned,Gender char(1) default M
Query OK, 0 rows affected (0.34 sec)

mysql insert into tab2 (Name,Age,Gender) values (Liang ShanBo ,26, M),(Zhu YingTai ,24, F),(3, Feng Songtao ,25,M);
Query OK, 2 rows affected (0.08 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql show master status;  – 增量备份时日志位置
+——————+———-+————–+——————+
| File  | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———-+————–+——————+
| mysql-bin.000006 |  812 |  |  |
+——————+———-+————–+——————+

[root@mysql ~]# mysqlbinlog –start-position=107 /binlog/mysql-bin.000006 /backup/allen_increment.sql
说明:–start-position=107 是上一次完备时日志的位置(可以查看完备文件内容得到),缺省 –stop-position 参数时默认到当前日志

4、再次向 allen 数据库中插入数据,然后删除 allen 数据库
mysql insert into tab2 (Name,Age,Gender) values (Zhu BaJie ,26, M),(Sun WuKong ,24, F
mysql drop database allen;

5、导出从上次增量备份时日志到要恢复的时间点(删除 allen 数据库之前)之间的日志
[root@mysql ~]# mysqlbinlog –start-position=812 –stop-position=1084 /binlog/mysql-bin.000006 /backup/allen_1084.sql
说明:1、–start-position=812 为上面查看获得,–stop-position=1084 从二进制日志记录获得
  2、/backup/allen_1084.sql 文件可以修改,如果这段日志中间存在误操作(如删除一条数据),可以将该误操作注释掉

6、将备份的文件拷贝到要恢复的数据库服务器,进行恢复
[root@mysql ~]# scp -p /backup/allen_* 192.168.122.11:/backup/
目标服务器上进行数据恢复
mysql source /backup/allen_2016-06-25.sql
mysql source /backup/allen_increment.sql
mysql source /backup/allen_1084.sql

7、查看数据
mysql show databases;
+——————–+
| Database  |
+——————–+
| information_schema |
| allen  |
| mysql  |
| performance_schema |
| test  |
+——————–+
5 rows in set (0.03 sec)

mysql use allen
Database changed
mysql show tables;
+—————–+
| Tables_in_allen |
+—————–+
| tab1  |
| tab2  |
+—————–+
2 rows in set (0.00 sec)

mysql select * from tab2;
+—-+————–+——+——–+
| ID | Name  | Age  | Gender |
+—-+————–+——+——–+
|  1 | Liang ShanBo |  26 | M  |
|  2 | Zhu YingTai  |  24 | F  |
|  3 | Feng Songtao |  25 | M  |
|  4 | Sun WuKong  |  24 | F  |
+—-+————–+——+——–+
4 rows in set (0.02 sec)
注:tab2 表中没有 Zhu BaJie 这条数据记录是因为我对 /backup/allen_1084.sql 做了修改,如下:
#insert into tab2 (Name,Age,Gender) values (Zhu BaJie ,26, M),(Sun WuKong ,24, F)
insert into tab2 (Name,Age,Gender) values (Sun WuKong ,24, F)

感谢各位的阅读!关于“如何使用 mysqldump 备份异机恢复数据库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-27发表,共计3000字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)