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内容如下:

相关推荐
zhangchaoxies几秒前
c++ rpc框架选择 grpc和thrift哪个更适合c++
jvm·数据库·python
2301_815279522 分钟前
怎么管理开启了审计日志的金融级数据库实例_合规访问控制
jvm·数据库·python
Java编程爱好者3 分钟前
spring的logback引用application配置文件的变量
后端
2301_8035389510 分钟前
SQL如何避免不同团队修改同一张表_基于前缀名的授权GRANT ON语法
jvm·数据库·python
李日灐12 分钟前
<1>Linux基础指令:Linux 高频指令详解 + 文件与目录认知
linux·运维·服务器·开发语言·后端·命令
m0_6784854517 分钟前
c++怎么在Windows下设置文件的安全访问控制列表(ACL)权限【底层】
jvm·数据库·python
2301_8176722621 分钟前
Go语言怎么做六边形架构_Go语言六边形架构教程【简明】
jvm·数据库·python
野生技术架构师24 分钟前
2026年Java面试题集锦(含答案)
java·开发语言·面试
lolo大魔王24 分钟前
Go语言的defer语句和Test功能测试函数
开发语言·后端·golang
m0_6784854529 分钟前
Pytest 实现两级参数化:让服务名依赖于应用名的灵活测试方案
jvm·数据库·python