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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 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)
......
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
2月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
153 10
|
5月前
|
存储 SQL 关系型数据库
|
5月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
122 18
|
6月前
|
关系型数据库 MySQL Linux
CentOS 7系统下详细安装MySQL 5.7的步骤:包括密码配置、字符集配置、远程连接配置
以上就是在CentOS 7系统下安装MySQL 5.7的详细步骤。希望这个指南能帮助你顺利完成安装。
1457 26
|
7月前
|
Ubuntu 关系型数据库 MySQL
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
291 16
|
11月前
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(4-2)作者——LJS[含MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法]
24MySQL非空、唯一性、PRIMARY KEY、自增列/自增约束举例说明等详解步骤及常见报错问题对应的解决方法(4-2) 学不会你来砍我!!!
|
8月前
|
关系型数据库 MySQL 数据库
Docker下Mysql8数据备份与恢复
通过以上步骤,您可以在Docker环境下高效地备份和恢复MySQL 8数据库。备份数据时,使用 `mysqldump`工具生成逻辑备份文件,并存储到指定目录;恢复数据时,使用 `mysql`工具从备份文件中读取数据并恢复到数据库。自动化脚本和定时任务的配置可以进一步简化备份和恢复的管理过程。
611 41
|
6月前
|
存储 Oracle 关系型数据库
MySQL 8.4 配置SSL组复制(八个步骤)
MySQL 8.4 配置SSL组复制(八个步骤)
326 0
|
9月前
|
关系型数据库 MySQL 应用服务中间件
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
《docker基础篇:8.Docker常规安装简介》包括:docker常规安装总体步骤、安装tomcat、安装mysql、安装redis
298 7
|
11月前
|
NoSQL 安全 关系型数据库
2024Mysql And Redis基础与进阶操作系列(6)作者——LJS[含MySQL 多表之一对一/多;多对多;多表联合查询等详解步骤及常见报错问题所对应的解决方法]
MySQL 多表之一对一/多;多对多;多表联合之交叉连接;内连接;左、右、外、满、连接;子查询及关键字;自连接查询等详解步骤及常见报错问题所对应的解决方法