MySQL进阶 - 备份与恢复

我是南城余!阿里云开发者平台专家博士证书获得者!

欢迎关注我的博客!一同成长!

一名从事运维开发的worker,记录分享学习。

专注于AI,运维开发,windows Linux 系统领域的分享!

知识库链接:

备份与恢复 · 语雀

百度网盘下载链接:

链接: 百度网盘-链接不存在

提取码: xiqy


1. 物理备份

备份数据库问价,转储数据库物理文件到某一目录

可借助MySQL中的xtrabackup工具进行物理备份

2. 逻辑备份

就是备份sql语句 速度较慢

常用逻辑备份工具为mysqldump

复制代码
mysqldump -uroot -p xxx数据库名称>/var/xxx目录/.sql或者txt文件 --绝对路径写法

mysqldump -uroot -p atguigudb>/var/lib/mysql/backup/atguigu.sql

--备份全部数据库
mysqldump -uroot -p --all-databases > all_database.sql  --相对路径写法
mysqldump -uroot -p --A > all_database.sql

--备份部分数据库
mysqldump -uroot -p --databases atguigudb2 atguigudb3 > part_databases.sql

--备份部分表
mysqldump -uroot -p atguigudb account student > part_tables.sql
 
--忽略数据库中的部分表
mysqldump -uroot -p atguigu --ignore-table=atguigu.student >atguigudb_no_student.sql

--通过下方指令可查看指定文件中有无student的表结构
grep "student" atguigudb_no_student.sql

--备份中包含存储过程、函数、事件
--默认存储过程、函数、事件不会被备份 可借助-R -E 参数备份
mysqldump -uroot -p -R -E --all-databases > func_pro.sql
mysqldump -uroot -p -R -E --databases atguigu > func_pro.sql --备份部分数据库存储过程、函数、事件

3. 数据恢复

数据库的恢复是建立在有备份成功的文件(.sql文件)下,才可以恢复数据

复制代码
--恢复单库
mysql -uroot -p  数据库名称<sql文件
mysql -uroot -p  atguigudb<atguigu.sql

--全量备份恢复
mysql -uroot -p <all.sql

--从全量备份中恢复单库
sed -n '/^-- Current Database: `atguigu`/',/^-- Current Database: '/p' all_database.sql > atguigu.sql

-- 分离完成后再导入atguigu.sql即可恢复单个库

4. 表的导入与导出

复制代码
-------------------------------导出------------------
--------------1.sql语句
--1.查看 mysql对导出目录的权限
show global variables like '%secure%';

--2. 导出
select * from account into outfile "/var/lib/mysql-files/account1.txt"
--查看导出数据
cat /var/lib/mysql-files/account1.tx

------------2.mysqldump 同时导出表结构.sql与表数据.txt
mysqldump -uroot -p -T "/var/lib/mysql-files/" atguigudb account 

-------------------------------导入------------------
LOAD DATA infile '/var/lib/mysql-files/account1.txt' into table atguigudb.account;

mysqlimport -uroot -p atguigu '/var/lib/mysql-files/account1.txt' --fields-terminated-by=','
--fields-optionally-enclosed-by='\"'
相关推荐
这个DBA有点耶3 小时前
2026年分布式数据库有哪些主流选择?先评估这5个维度再决定
数据库·分布式·dba
这个DBA有点耶5 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构
胡写代码5 小时前
数据库审计字段,别再每张表各写一套了——我统一成这 6 个字段
数据库
SelectDB9 小时前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
ClouGence10 小时前
开源数据库管理工具 CloudDM 4.2.0 发布,新增 GoldenDB、KingbaseES 等数据源
数据库·dba·devops
发霉的馒头11 小时前
ORA-00845: MEMORY_TARGET not supported on this system的解决方法
数据库
草莓熊Lotso13 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
煎饼皮皮侠14 小时前
【设计】设计一个web版的数据库管理平台后端(之五) --借鉴mybatis
数据库·mybatis
东风破_20 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
九皇叔叔21 小时前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构