Mysql 数据备份与恢复

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: Mysql 数据备份与恢复

  • 测试数据:

``` 当前我用 test 数据库 与 test 数据库中的 user 表作为测试使用


备份测试路径:/Users/dengzemiao/Desktop/dbTest


mysql> show databases; +--------------------+ | Database | +--------------------+ | informationschema | | mysql | | performanceschema | | sys | | test | +--------------------+


mysql> show tables; +----------------+ | Tablesintest | +----------------+ | area | | test | | user | +----------------+ ```


  • 数据备份


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


  • 备份整个数据库

``` 命令形式:


// 这种中间存在 空格分开的方式密码可以不用输入,回车之后还是需要输入密码的 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 testbak; mysql> user testbak; 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 | +--------------------+ | informationschema | | mysql | | performanceschema | | sys | | test | +--------------------+


新建一个备份数据库 testbak mysql> create database testbak; Query OK, 1 row affected (0.01 sec)


使用备份数据库 testbak mysql> use testbak; 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; +--------------------+ | Tablesintest_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) ...... ```


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
235 0
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(备份+恢复篇)(二)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(备份+恢复篇)
116 1
|
4月前
|
SQL 关系型数据库 MySQL
在Linux中,mysql 数据备份工具有哪些?
在Linux中,mysql 数据备份工具有哪些?
|
4月前
|
SQL 存储 关系型数据库
运维笔记.MySQL.基于mysqldump数据备份与恢复
运维笔记.MySQL.基于mysqldump数据备份与恢复
78 0
|
SQL 存储 关系型数据库
MySQL中的数据备份与还原(导出导入)实践总结
MySQL中的数据备份与还原(导出导入)实践总结
627 1
|
存储 关系型数据库 MySQL
MySQL视图,索引,数据备份与恢复
MySQL视图,索引,数据备份与恢复
52 0
|
7月前
|
SQL 关系型数据库 MySQL
mysql数据库备份 与恢复 win下的mysql数据备份
mysql数据库备份 与恢复 win下的mysql数据备份
56 1
|
7月前
|
关系型数据库 MySQL Shell
在Centos7中利用Shell脚本:实现MySQL的数据备份
在Centos7中利用Shell脚本:实现MySQL的数据备份
437 0
|
7月前
|
存储 固态存储 关系型数据库
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(系统底层优化篇)(一)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(系统底层优化篇)
83 1
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)(一)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)
73 0