Mysql 数据备份与恢复(详细步骤)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Mysql 数据备份与恢复(详细步骤)
  • 测试数据:
当前我用 test 数据库 与 test 数据库中的 user 表作为测试使用
备份测试路径:/Users/dengzemiao/Desktop/dbTest
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| area           |
| test           |
| user           |
+----------------+


  • 数据备份
    数据备份就是指将一个数据库中的数据,转存为一个或多个文件的过程,备份数据库的命令不需要登录数据之后操作,直接打开命令行进行操作即可。


  • 备份整个数据库


命令形式: (注意:.exe 是 Windows 上面的,Mac 不用带这个)
// 这种中间存在 空格分开的方式密码可以不用输入,回车之后还是需要输入密码的
mysqldump.exe -h 主机地址 -u 用户名 -p 密码 数据库名 > 备份文件名(含路径)
// 这种中间没有空格分开的方式密码可以直接连着输入,但是回车之后会警告密码放命令行中不安全
mysqldump.exe -h主机地址 -u用户名 -p密码 数据库名 > 备份文件名(含路径)
// 如果是本地本机,可以省略 -h主机地址
mysqldump.exe -u用户名 -p密码 数据库名 > 备份文件名(含路径)
说明:
1、跟登录 mysql 类似,密码可以不写,则随后会提示输入
2、该语句是 mysq/bin 中的一个命令,不是 sql 语句(即不应该登录 mysql 后使用)
使用举例:
dengzemiaodeMacBook-Pro:~ dengzemiao$ mysqldump -hlocalhost -uroot -p test > /Users/dengzemiao/Desktop/dbTest/test.sql
Enter password: 
dengzemiaodeMacBook-Pro:~ dengzemiao$ mysqldump -hlocalhost -uroot -p123456 test > /Users/dengzemiao/Desktop/dbTest/test.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.


  • 备份单个表


命令形式: (使用的区别区别跟上面一样,看看上面就行了)
mysqldump.exe -h 主机地址 -u 用户名 -p 密码 数据库名 表名 > 备份文件名(含路径)
mysqldump.exe -h主机地址 -u用户名 -p密码 数据库名 表名 > 备份文件名(含路径)
说明:
1、跟登录 mysql 类似,密码可以不写,则随后会提示输入
2、该语句是 mysql/bin 中的一个命令,不是 sql 语句(即不应该登录 mysql 后再去使用)
使用举例:
dengzemiaodeMacBook-Pro:~ dengzemiao$ mysqldump -hlocalhost -uroot -p test user > /Users/dengzemiao/Desktop/dbTest/test-user.sql
Enter password: 
dengzemiaodeMacBook-Pro:~ dengzemiao$ mysqldump -hlocalhost -uroot -p123456 test user > /Users/dengzemiao/Desktop/dbTest/test-user.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.



  • 数据还原 (数据恢复)

数据还原(恢复)是指将一个之前备份过的数据文件,恢复(还原)到某个数据库的过程。

还原其实不分整个库还是单个表,都是一样的。



命令形式: (使用的区别区别跟上面一样,看看上面就行了)
mysql.exe -h 主机地址 -u 用户名 -p 密码 目标数据库名 < 想要还原的备份文件名(含路径)
mysql.exe -h主机地址 -u用户名 -p密码 目标数据库名 < 想要还原的备份文件名(含路径)
也可以登录数据库,并创建一个数据库,在数据库中通过 source 进行导入:
mysql> create database test_bak;
mysql> user test_bak;
mysql> source /Users/dengzemiao/Desktop/dbTest/test.sql;
mysql> source /Users/dengzemiao/Desktop/dbTest/test_user.sql;
目标数据库名: 也就是你数据库里面需要先建一个数据库,用于备份导入
使用举例:
dengzemiaodeMacBook-Pro:~ dengzemiao$ mysql -hlocalhost -uroot -p test_bak < /Users/dengzemiao/Desktop/dbTest/test.sql
Enter password: 
dengzemiaodeMacBook-Pro:~ dengzemiao$ mysql -hlocalhost -uroot -p123456 test_bak < /Users/dengzemiao/Desktop/dbTest/test.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
列出本地数据库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
新建一个备份数据库 test_bak
mysql> create database test_bak;
Query OK, 1 row affected (0.01 sec)
使用备份数据库 test_bak
mysql> use test_bak;
Database changed
在备份前查看一下是否存在表,现在是没有的,那么开始备份
mysql> show tables;
Empty set (0.00 sec)
新开命令行窗口执行备份命令
dengzemiaodeMacBook-Pro:~ dengzemiao$ mysql -hlocalhost -uroot -p123456 test_bak < /Users/dengzemiao/Desktop/dbTest/test.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
再次查看数据库中的表,说明备份数据已经导入进来了,就算重复执行上面的备份命令也只是覆盖数据库
mysql> show tables;
+--------------------+
| Tables_in_test_bak |
+--------------------+
| area               |
| test               |
| user               |
+--------------------+
上面备份整个数据库也就好了,当然也可以通过 source 来进行导入:
mysql> source /Users/dengzemiao/Desktop/dbTest/test.sql;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
......
mysql> source /Users/dengzemiao/Desktop/dbTest/test_user.sql;
Query OK, 0 rows affected (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
......
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
23天前
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(4-2)作者——LJS[含MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法]
24MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法(4-2) 学不会你来砍我!!!
|
23天前
|
NoSQL 安全 关系型数据库
2024Mysql And Redis基础与进阶操作系列(6)作者——LJS[含MySQL 多表之一对一/多;多对多;多表联合查询等详解步骤及常见报错问题所对应的解决方法]
MySQL 多表之一对一/多;多对多;多表联合之交叉连接;内连接;左、右、外、满、连接;子查询及关键字;自连接查询等详解步骤及常见报错问题所对应的解决方法
|
21天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
61 3
|
23天前
|
SQL NoSQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(5)作者——LJS[含MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页等详解步骤及常见报错问题所对应的解决方法]
MySQL DQL基本查询:select;简单、排序、分组、聚合、分组、分页、INSERT INTO SELECT / FROM查询结合精例等详解步骤及常见报错问题所对应的解决方法
|
22天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
38 2
|
23天前
|
SQL NoSQL 关系型数据库
|
23天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
24天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
73 2
|
23天前
|
SQL 关系型数据库 MySQL
|
23天前
|
存储 SQL NoSQL
下一篇
无影云桌面