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

分类:编程技术 时间:2024-02-20 15:44 浏览:0 评论:0
0
本文将与大家分享如何使用mysqldump在异机上备份和恢复数据库。小编觉得还是比较实用的,所以分享给大家,作为参考。下面就跟随小编来看看吧。

使用mysqldump在不同机器上备份和恢复数据库

1.创建测试数据库
mysql> create database allen;
查询正常,1行受影响(0.01秒)

mysql> use allen;
数据库已更改
mysql> create table tab1 (ID tinyint unsigned not null 主键auto_increment,Name char(20) not null unique key,Age tinyint unsigned,Gender char(1) default 'M');
查询OK, 0 rows受影响(0.38秒)

mysql> insert into tab1 (姓名,年龄,性别)values('张无忌',26,'M'),('赵敏',24,' F');
查询正常,2行受影响(0.05秒)
记录:2重复:0警告: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 (IDtinyint unsigned not null Primary key auto_increment,Name char(20) not null unique key,Age tinyint unsigned,Gender char(1) default 'M');
查询正常,0行受影响(0.34秒)

mysql>插入tab2(姓名,年龄,性别)值​​('梁山伯',26,'M'),('祝英台',24,'F'),(3,'冯松涛',25,M);
查询正常,有2行受影响( 0.08 秒)
记录:2 重复:0 警告:0

mysql> 显示主状态; -- 增量备份时的日志位置
+----------------+--------------------+-------- -- -------+----------------+
|文件|位置 | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+---------+------------- -+---------- ------+
| mysql-bin.000006 | 812 | 812 |nbsp; |
+------------------+----------+---------- --+--------------------+

[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 (姓名,年龄,性别)values('猪八戒',26,'M'),('孙悟空',24,'F');
mysql> drop 数据库 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-positio从二进制日志记录中获取n=1084
2、/backup/allen_1084.sql文件可以修改。如果这个日志有误操作(比如删除了一条数据),可以注释掉误操作


6.备份文件复制到需要恢复的数据库服务器上进行恢复
[root@mysql ~]# scp -p /backup/allen_* 192.168.122.11:/backup/
恢复目标服务器上的数据< br/> mysql> 源/backup/allen_2016-06-25.sql
mysql> 源/backup/allen_increment.sql
mysql> 源/backup/allen_1084.sql

7.查看数据
mysql> 显示数据库;
+--------------------+
|数据库 |
+---------------- ----------------+
| information_schema |
|艾伦     |
| mysql     |
|性能模式 |
|测试       |
+----------------------------------------+
5行一组(0.03秒)

mysql> 使用 allen
数据库已更改
mysql> 显示表;
+-----------------+
| Tables_in_allen |
+----------------+
|选项卡1|
+----------------+
集合中 2 行(0.00 秒)

mysql> select * from tab2 ;
+----+--------------+-----+--------+
|身份证 |名称 |年龄 |性别 |
+----+--------------+-----+--------+
1 |梁山伯| 26 | 26米|
| 2 |祝英台| 24 | F |
| 3 |冯松涛| 25 | 25米|
| 4 |孙悟空 | 24 | F |
+----+--------------+-----+--------+
4 行set (0.02 sec)
注意:tab2表中没有猪八戒数据记录,因为我修改了/backup/allen_1084.sql,如下:
#insert into tab2 (Name,Age,性别)values('猪八戒',26,'M'),('孙悟空',24,'F')
插入tab2(姓名,年龄,性别)values​​('孙悟空',24,'F') WuKong',24 ,'F')

感谢您的阅读!关于《如何使用mysqldum》这篇文章就分享到这里,希望上面的内容能够给大家带来一些帮助,让大家能够学到更多的知识楔子。如果您觉得文章不错,可以分享出去,让更多人了解。人们看到了!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何使用mysqldump备份和恢复数据库

用户评论