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='\"'
相关推荐
敲代码敲到头发茂密29 分钟前
基于 LangChain 实现数据库问答机器人
数据库·人工智能·语言模型·langchain·机器人
一入程序无退路1 小时前
c语言传参数路径太长,导致无法获取参数
linux·c语言·数据库
陌夏微秋2 小时前
STM32单片机芯片与内部47 STM32 CAN内部架构 介绍
数据库·stm32·单片机·嵌入式硬件·架构·信息与通信
计算机学无涯3 小时前
Spring事务回滚
数据库·sql·spring
web130933203983 小时前
flume对kafka中数据的导入导出、datax对mysql数据库数据的抽取
数据库·kafka·flume
张声录13 小时前
【ETCD】【实操篇(二十)】浅谈etcd集群管理的艺术:从两阶段配置到灾难恢复的设计原则
数据库·etcd
qq_254674413 小时前
数据仓库和数据湖 数据仓库和数据库
数据库·数据仓库
--FGC--3 小时前
【第2篇】 Python与数据库基础
数据库·python·oracle
web135085886354 小时前
9. 大数据集群(PySpark)+Hive+MySQL+PyEcharts+Flask:信用贷款风险分析与预测
大数据·hive·mysql
Y.O.U..4 小时前
Mysq学习-Mysql查询(4)
数据库·学习·mysql