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 命令前添加注释信息


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部