MySQL-mysqldump备份方法

mysqldump备份


前言: mysqldump 是 MySQL 系统自带的逻辑备份工具,主要用于转储数据库。 是最常用的 MySQL数据库备份方法。

mysqldump 的各种使用方法:

# 备份全部数据库
mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases > /tmp/all_database.sql

# 要求记录 binlog 位点信息 可用于搭建从库
mysqldump -uroot -pxxxxxx --single-transaction -R -E --all-databases --master-data=2 > /tmp/all_database.sql

# 备份指定数据库(单个)
mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 > /tmp/db1.sql

# 备份指定数据库(多个)
mysqldump -uroot -pxxxxxx --single-transaction -R -E --databases db1 db2 > /tmp/db1_db2.sql

# 备份单表
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 > /tmp/tb1.sql

# 备份部分表
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 tb2 tb3 > /tmp/tb.sql

# 导出某个表,数据以单行insert显示
mysqldump -uroot -pxxxxxx --single-transaction --skip-extended-insert db1 tb1 > /tmp/tb1.sql

# 导出单表的部分数据
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where=" create_time >= '2021-06-01 00:00:00' " > /tmp/tb1.sql
mysqldump -uroot -pxxxxxx --single-transaction db1 tb1 --where='id < 10' > /tmp/tb1.sql

# 排除某些表导出
mysqldump -uroot -pxxxxxx --single-transaction --databases db1 --ignore-table=db1.tb1 --ignore-table=db1.tb2 > /tmp/db1.sql

# 只导出结构
mysqldump -uroot -pxxxxxx db1 --no-data > /tmp/db1_jiegou.sql

# 只导出数据
mysqldump -uroot -pxxxxxx db1 --no-create-info > /tmp/db1_data.sql

# 只导出某个库的存储过程及自定义函数
mysqldump -uroot -pxxxxxx -d -t -R db1 > /tmp/db1_routine.sql

# 远程导出 即MySQL服务端不在本地
mysqldump -uroot -pxxxxxx -hxxx.xxx.xx -P3306 --single-transaction --databases db1 > /tmp/db1.sql

以下是从从 MySQL 官方文档整理的mysqldump 工具的参数。

参数名缩写含义
–user-uMySQL用户名
–pasword-p(小写)MySQL密码
–host-hMySQL 的ip地址
–port-P(大写)MySQL 端口号
–databases-B指定要备份的数据库
–all-databases-A备份MySQL服务器上的所有数据库
–add-drop-databases每个创建库之前添加drop语句(默认不开启)
–add-drop-table每个创建表之前添加drop语句(默认开启)
–events-E导出事件(默认不开启)
–routines-R导出存储过程和自定义函数(默认不开启)
–triggers导出触发器(默认开启)
–extended-insert-e使用具有多个VALUES列的INSERT 语法(默认开启)
–ignore-table不导出指定表,指定忽略多个表时,需要重复多次
–no-data-d不导出任何数据,指导出数据库表结构
–no-create-info-t只导出数据,而不添加CREATE TABLE 语句
–force-f在导出过程中忽略出现的SQL错误(默认不开启)
–tz-utc在导出顶部设置时区TIME_ZONE=‘00:00’(默认开启)
–where-w只转储给定的where条件选择的纪录
–set-gtid-purged是否添加SET@@GLOBAL.GTID_PURGED 输出
–single-transaction通过在一个事务中导出所有表而创建一个一致性的快照,适用于 innodb引擎
–master-data该选项将当前服务器的binlog的位置和文件名追加到输出文件中。如果为1,则输出CHANGE MASTER 命令,如果为2,则输出CHANGE MASTER 命令前添加注释信息

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值