当前位置:网站首页>MySql的备份与恢复
MySql的备份与恢复
2022-08-09 14:59:00 【Small-K】
MySql的备份与恢复
物理备份和逻辑备份
物理备份是指将数据库在硬盘上的所有文件都拷贝一份。
优点是速度快,生成数据少,可以在mysql离线情况下进行备份
缺点是可移植性差,需要做数据恢复的电脑端与源电脑端有相似的物理存储结构
逻辑备份是将所有表的逻辑语句(CREATE TABLE / INSERT ...诸如此类的语句)导出来
优点是可移植性好,能做到数据表级别的恢复
缺点是速度慢,生成数据多,需要mysql运行状态
这里主要介绍一下逻辑备份,进行逻辑备份我们一般使用mysqldump
软件
mysqldump
mysqldump可以生成两种类型的输出,通过使用或不使用--tab
属性来切换
加上
--tab
, 输出到两个文件:tbl_name.sql ,tbl_name.txt(tab 键分隔)不加
--tab
,将sql语句输出到标准输出(可以重定向到文件中去)(主要介绍这一种方法)
使用
基本语法结构(注意是在终端环境下,非mysql命令行环境下)
mysqldump [*arguments*] > *file_name* [-u][-p]
-u和-p是可选的,作为你连接mysql的用户名和密码,跟登录mysql的用法一致
参数:
--all-databases 将所有的数据库都导出
shell> mysqldump --all-databases > dump.sql
--databases database_1 database_2 将database_1 和database_2作为两个完整数据库导出来
shell> mysqldump --databases db1 db2 db3 > dump.sql
注意,如果不加--dabatases,这条语句
shell> mysqldump db1 db2 db3 > dump.sql
mysqldump会将db1解析为数据库名,db2 db3会被解析为数据库下的数据表名
--add-drop-database
在创建数据库语句前加上drop语句(默认不加,当要重建的mysql中已有同名的数据库时,是不进行创建的)
从sql文件恢复数据库
当没有使用--all-databases或--databases参数时,是没有create databases 和 use 语句的,所以需要自己显式指定数据库去执行sql文件(mysql 环境下)
-- 先建数据库 CREATE DATABASE test; -- 切换到数据库 USE test; -- 加载SQL source test.sql; -- test.sql是你要加载的sql文件 -- 或者是 test < test.sql -- test是数据库名
当使用了--all-databases 或 --databases 参数时,自动生成了create databases 和 use 语句,所以可以这样用(终端环境下)
mysql < test.sql
(mysql环境下)
source test.sql
边栏推荐
猜你喜欢
【Postgraduate Work Weekly】(Week 9)
Vim practical skills_4. Manage multiple files (open + split + save + netrw)
【工具使用】Keil5软件使用-基础使用篇
AlexNet pytorch实现
Monte Carlo simulation
【知识分享】知识链路-Modbus通信知识链路
[Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)
CRM定制开发需要多少钱 CRM系统定制开发价格
LeNet5 pytorch实现
Excel绘制统计图
随机推荐
将类指针强制转换为void*指针进行传参的使用方法
hugging face tutorial - Chinese translation - sharing custom model
Gray Relevance Matrix——Application of MATLAB in Mathematical Modeling
SQLMap常用命令介绍
【 graduate work weekly 】 (10 weeks)
多元回归分析
Matlab做分布拟合及绘制频率分布直方图
【Postgraduate Work Weekly】(Week 8)
【力扣】1995. 统计特殊四元组
Cloud Models and Logistic Regression - Applications of MATLAB in Mathematical Modeling (2nd Edition)
类定义中class和className中间的修饰词的作用有关问题
堆(heap)系列_0x0A:3种方法一次性解决堆溢出问题
交叉编译 OpenSSL
Principal Component Analysis - Applications of MATLAB in Mathematical Modeling (2nd Edition)
SVM支持向量机——MATLAB在数学建模中的应用
matlab讲解与使用【持续更新中ing】
TCP/IP协议组——完整工作过程分析
PatchEmbed代码讲解记录
tensor转cv::Mat(即CHW转HWC)原理含C#代码实现
Hold face (hugging face) tutorial - Chinese translation - create a custom framework