MySQL mysqldump 数据备份

专栏持续更新中:MySQL详解

部署在后台服务器或者云端的MySQL大部分做了一些限制,在本地无法直连后台服务的数据库3306端口上,一般有防火墙之类的网络中间件

在远程服务器一般不能使用GUI图形化界面工具进行数据备份,所以我们一般都是通过命令mysqldump进行

导出建库建表的SQL:

bash 复制代码
mysqldump -u 用户名 -p111111 --all-databases > ~/all.sql          # 导出所有的库
mysqldump -u 用户名 -p111111 --databases school > ~/school.sql    # 导出school库
mysqldump -u 用户名 -p111111 --databases db1 db2 db3 > ~/dbs.sql    # 导出多个库
mysqldump -u 用户名 -p111111 school stu > ~/stu.sql               # 导出school库下的stu表

导出纯数据:

bash 复制代码
mysql -u 用户名 -p111111 -D school -e 'select * from user where age>10' > ~/user.txt

在mysql终端执行source命令,导入数据,建库建表:

shell 复制代码
mysql> source ~/school.sql

在linux shell下执行以下命令,即可把mytest库的user表的数据导出到.sql文件中(导出的不仅是数据,SQL语句也导出了)

user.sql文件内容如下:

现在user.sql是root的文件,我们变更一下属主,使得普通用户也可以操作

我们现在把mytest库下的user表删除

然后我们source,相当于把.sql脚本重新执行一遍

user表和数据全部恢复出来了,有了.sql的脚本,可以在任意的mysql库上去重建库表及数据

我们还可以直接导出纯表数据

bash 复制代码
mysql -u root -p -D school -e 'select * from user where age>10' > ~/user.txt

user.txt内容如下:

相关推荐
Nturmoils2 分钟前
数据集成软件 KFS:多套业务库汇聚时,先把来源和口径理清
数据库
帷幕落秋3 分钟前
进程服务与文件描述符
linux·运维·面试
预知同行4 分钟前
深入解析 MoE 混合专家模型:从 Router 到 All-to-All 的架构全景与生产实践
后端·架构
upala4 分钟前
【仓颉语言入门 · 第二篇 第 8 课】
后端
帷幕落秋7 分钟前
信号、Ctrl 组合键与进程状态
linux·运维·面试
麦壳饼10 分钟前
SonnetDB:批量写入的大小、背压与刷新策略
数据库·sonnetdb
weiwin12317 分钟前
MAF 入门(8):多模态实战——让 Agent 看懂图片、处理混合内容
人工智能·后端
weixin_4604435633 分钟前
Java+Linux私有化训考平台:服务、数据库与终端部署结构解析
java·linux·数据库·私有化部署·企业培训考试系统·企业考试系统
弈栈录1 小时前
流式对话接口设计:SSE、WebSocket 与断线重连
后端
Java内核笔记1 小时前
Spring AI 生产级 Chat 接口:6 个开关、13 个坑,其中 2 个开关根本没生效
java·人工智能·后端