当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
永磁同步电机电位器调速及数码管实时显示
ResNet 残差网络 一些粗略的理解
Vim实用技巧_6.复制和粘贴原理(寄存器)
Vim实用技巧_8.替换(substitute)和global命令
【工具使用】Modscan32软件使用详解
Markdown 文档生成 PDF
tensor转cv::Mat(即CHW转HWC)原理含C#代码实现
软件安全内存区域详解
【知识分享】知识链路-Modbus通信知识链路
Hold face (hugging face) tutorial - Chinese translation - create a custom framework
[Paper reading] LIME: Low-light Image Enhancement via Illumination Map Estimation (the most complete notes)
PE格式系列_0x05:输出表和重定位表(.reloc)
嵌入式三级笔记
堆(heap)系列_0x07:NT堆调试支持_滞后发现调试支持
opencv图像处理及视频处理基本操作
Vitis部分实验记录
基于MySQL的数据在线管理系统
【工具使用】Modbus Poll软件使用详解
【力扣】617. 合并二叉树
【力扣】1154. 一年中的第几天