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='\"'
相关推荐
qq_508823401 小时前
金融数据库--3Baostock
数据库·金融
悦数图数据库2 小时前
图技术重塑金融未来:悦数图数据库如何驱动行业创新与风控变革
数据库·金融
九河云2 小时前
华为云 GaussDB:金融级高可用数据库,为核心业务保驾护航
网络·数据库·科技·金融·华为云·gaussdb
老华带你飞2 小时前
租房平台|租房管理平台小程序系统|基于java的租房系统 设计与实现(源码+数据库+文档)
java·数据库·小程序·vue·论文·毕设·租房系统管理平台
ouou06174 小时前
企业级NoSql数据库Redis集群
数据库·redis·nosql
F_D_Z5 小时前
【SQL】指定日期的产品价格
数据库·sql·mysql
程序员在线炒粉8元1份顺丰包邮送可乐5 小时前
Docker 部署生产环境可用的 MySQL 主从架构
mysql·docker·架构
axban5 小时前
QT M/V架构开发实战:QStringListModel介绍
开发语言·数据库·qt
Blossom.1185 小时前
从“能写”到“能干活”:大模型工具调用(Function-Calling)的工程化落地指南
数据库·人工智能·python·深度学习·机器学习·计算机视觉·oracle