[Mysql] mysqldump逻辑备份及恢复


本文总阅读量

0、mysql实验版本

1
5.7.22-log

1、mysqldump备份操作详解:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
-d --no-data No row information 只导出数据结构
-t --no-create-info 只导出数据(不包含结构)
1)导出所有数据库
mysqldump -u root -p --all-databases > all_db.dump
2)导出指定数据库
mysqldump -u root -p zabbixDB > zabbix.dump
3) 导出多个数据库
mysqldump -u root -p --databases zabbixDB mysql > zabbix_mysql.dump
4)导出一个表
mysqldump -u root -p zabbixDB task > zabbixDB_task.dump
5)导出一个数据库的多个表
mysqldump -u root -p --databases zabbixDB --tables trends users > zabbix_trends_users.dump
6)条件导出----导出db1表a1中id=1的数据
mysqldump -uroot -p --databases db1 --tables a1 --where='id=1' > db1_a1_id.dump
7)将h1服务器中的db1数据库的所有数据导入到h2中的db2数据库中,db2的数据库必须存在否则会报错
mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2
8)压缩备份
mysqldump -uroot -p --databases zabbixDB 2>/dev/null |gzip > zabbixDB.gz

##开始实验

2、源库插入测试数据

1
2
3
4
create database aaaa;
use aaaa;
create table aa (id int primary key);
insert into aa values('1');

3、导出备份

1
mysqldump -u root -p --all-databases --set-gtid-purged=OFF  > /tmp/test.dump

4、在目标数据库进行还原,全库导入

1
mysql -u root -p12345678 < test.dump

因为mysqldump属于逻辑备份,恢复步骤为先检查要恢复的database是否存在,如果不存在就手动创建,如果存在就进入database去检查表是否存在,如果存在,会先删除再手动创建,表创建完成之后插入数据,分析dump文件,具体内容如下:

4.1、创建database:

1
2
3
4
5
--
-- Current Database: `aaaa`
--
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `aaaa` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `aaaa`;

4.2、检查并创建表aaa:

1
2
3
4
5
6
7
8
9
10
11
--
-- Table structure for table `aaa`
--
DROP TABLE IF EXISTS `aaa`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `aaa` (
`id` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;

4.3、对表aaa插入备份出来的数据:

1
2
3
4
5
6
7
8
--
-- Dumping data for table `aaa`
--
LOCK TABLES `aaa` WRITE;
/*!40000 ALTER TABLE `aaa` DISABLE KEYS */;
INSERT INTO `aaa` VALUES (1);
/*!40000 ALTER TABLE `aaa` ENABLE KEYS */;
UNLOCK TABLES;
目录
  1. 1. 0、mysql实验版本
  2. 2. 1、mysqldump备份操作详解:
  3. 3. 2、源库插入测试数据
  4. 4. 3、导出备份
  5. 5. 4、在目标数据库进行还原,全库导入

Proudly powered by Hexo and Theme by Lap
本站访客数人次
© 2020 zeven0707's blog