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='\"'
相关推荐
2401_8914092628 分钟前
量化数据13:港股分钟K线、Level2逐笔Tick、十档盘口和港股通历史数据的批量提取
数据库
w-w0w-w7 小时前
SQL注入
网络·数据库·sql
tianyuanwo7 小时前
NetBox 数据库详解:当“关系型数据库”被装进一个网络运维的领域模型里
运维·数据库·netbox
一条泥憨鱼7 小时前
【计算机网络】短连接、长连接与连接池:从 TCP 握手到池化复用的完整链路
网络·数据库·网络协议·tcp/ip·计算机网络
IvorySQL7 小时前
深入 PostgreSQL WAL:从崩溃恢复到逻辑复制
数据库·postgresql
幽灵诶9 小时前
Mysql(基于测试的学习)
数据库·mysql
砚底藏山河9 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
宇宙无敌暴龙战士6669 小时前
MySQL 8 库表操作学习笔记:SQL 基础、库表管理、约束与用户授权全流程
数据库·sql·mysql·学习笔记·后端开发
猿究院_夏燊9 小时前
MySQL 的四种隔离级别
java·数据库·mysql
say_fall10 小时前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++