千家信息网

Mysql数据库的备份与恢复方法

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"Mysql数据库的备份与恢复方法",在日常操作中,相信很多人在Mysql数据库的备份与恢复方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Mysql
千家信息网最后更新 2026年11月03日Mysql数据库的备份与恢复方法

这篇文章主要介绍"Mysql数据库的备份与恢复方法",在日常操作中,相信很多人在Mysql数据库的备份与恢复方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Mysql数据库的备份与恢复方法"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1.备份cancer数据库

```
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| cancer |
| cancer_utf8 |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.05 sec)
```
2.备份的方向符号为(>)

```
[root@mysql 3306]# mysqldump -uroot -p -S /data/3306/mysql.sock cancer >/opt/cancer_bak.sql
Enter password:
```
3.查看备份的语句

```
[root@mysql 3306]# egrep -v "#|\*|--|^$" /opt/cancer_bak.sql
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`names` char(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
LOCK TABLES `student` WRITE;
INSERT INTO `student` VALUES (1,'???'),(2,'è???"·?-?');
UNLOCK TABLES;
```
4.备份恢复的方向符号为(<)

```
[root@mysql 3306]# mysql -uroot -p -S /data/3306/mysql.sock cancer ```

加-B的备份与恢复
1.备份

```
[root@mysql 3306]# mysqldump -uroot -p -S /data/3306/mysql.sock -B cancer >/opt/cancer_bak_B.sql
Enter password:
[root@mysql 3306]# cd /opt
[root@mysql opt]# diff cancer_bak.sql cancer_bak_B.sql
18a19,26
> -- Current Database: `cancer`
> --
>
> CREATE DATABASE /*!32312 IF NOT EXISTS*/ `cancer` /*!40100 DEFAULT CHARACTER SET latin1 */;
>
> USE `cancer`;
>
> --
51c59
< -- Dump completed on 2015-08-16 16:16:33
---
> -- Dump completed on 2015-08-16 16:22:32
```
2.恢复

```
[root@mysql opt]# mysql -uroot -p -S /data/3306/mysql.sock ```
3.压缩备份

```
[root@mysql opt]# mysqldump -uroot -p -S /data/3306/mysql.sock -B cancer|gzip >/opt/cancer_bak_gzip.sql.gz
Enter password:
```
4.备份多个库

```
[root@mysql opt]# mysqldump -uroot -p -S /data/3306/mysql.sock -B cancer cancer_utf8 >/opt/cancer_mul_bak
Enter password:
```

5.多库备份脚本

```
[root@mysql opt]# mysql -uroot -p -S /data/3306/mysql.sock -e "show databases;"|grep -Evi "database|infor|perfor"|sed -r 's#^([a-z].*$)#mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B --events \1|gzip >/opt/\1.sql.gz#g'|bash
Enter password:
```
脚本的显示内容
```
mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B mysql|gzip >/opt/mysql.sql.gz
mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B cancer|gzip >/opt/cancer.sql.gz
mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B cancer_utf8|gzip >/opt/cancer_utf8.sql.gz
mysqldump -uroot -pcancer -S /data/3306/mysql.sock -B test|gzip >/opt/test.sql.gz
```
1.备份具体某个库中的某个表

```
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock cancer student test
Enter password:
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `student` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`names` char(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
INSERT INTO `student` VALUES (1,'???'),(2,'è???"·?-?');
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `test` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
```
2.只备份表结构

```
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock -d cancer
Enter password:
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `student` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`names` char(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `test` (
`id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
```

```
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock -d cancer student
Enter password:
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `student` (
`id` int(4) NOT NULL AUTO_INCREMENT,
`names` char(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
```
3.只备份数据

```
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock -t cancer student
Enter password:
INSERT INTO `student` VALUES (1,'???'),(2,'è???"·?-?');
```

到此,关于"Mysql数据库的备份与恢复方法"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

备份 数据 数据库 方法 学习 方向 更多 符号 脚本 帮助 实用 接下来 内容 多个 文章 理论 知识 篇文章 结构 网站 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司 华服互联网科技怎么样 中关村互联网科技集团 互联网科技有限公司图片 金诺互联网科技 致骋互联网科技 互联网科技有限公司 翻译 滨湖区互联网智能科技产品供应 科技大学互联网专业好不好 互联网经济与金融科技 互联网5g黑科技有哪些 互联网方面的科技前沿 互联网第三次科技革命特征 上海创道互联网络科技有限公司 宇信科技在杭州互联网排第几 互联网科技手机排行榜 互联网公司属于科技吗 北京互联网科技类企业分布 美国五大互联网科技公司市值多少 互联网科技创新方面的资料 广东猪兼强互联网科技有限公司 涨乐互联网科技 天下捷融互联网科技 互联网实体化科技化 中国科技互联网公司收入 荆州市昕露互联网络科技有限公司 本届互联网博览会上的黑科技 广州燕处互联网科技有限公司 第三届互联网大会安防黑科技 科技互联网专业务虚会材料
0