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='\"'
相关推荐
小陈工5 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
0xDevNull9 小时前
MySQL数据冷热分离详解
后端·mysql
科技小花10 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸10 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain10 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希10 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神10 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员11 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java11 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿11 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb