文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

这篇文章主要介绍“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 </opt/cancer_bak.sql
```

加-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 `cancer` ;
>
> 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  </opt/cancer_bak_B.sql
```
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:
;
;
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;
;
INSERT INTO `student` VALUES (1,'???'),(2,'è???”·?-?');
;
;
CREATE TABLE `test` (
  `id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
;
```
2.只备份表结构

```
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock -d  cancer
Enter password:
;
;
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;
;
;
;
CREATE TABLE `test` (
  `id` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
;
```

```
[root@mysql ~]# mysqldump -uroot -p -S /data/3306/mysql.sock -d  cancer student
Enter password:
;
;
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;
;
```
3.只备份数据

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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯