MySQL备份之mysqldump
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,mysqldump是mysql自带的数据库备份工具,属于单线程,大部分生产环境的mysql数据库备份都是使用该工具,mysqldump可以将数据导出为原生sql语句,在将其数据导入至数据库时,相当于是
千家信息网最后更新 2025年11月07日MySQL备份之mysqldump
mysqldump是mysql自带的数据库备份工具,属于单线程,大部分生产环境的mysql数据库备份都是使用该工具,mysqldump可以将数据导出为原生sql语句,在将其数据导入至数据库时,相当于是执行一遍备份文件中的所有sql语句,
mysqldump提供了丰富的options选项,可以在导出或者导入数据的时候,添加需要的options,以便达到用户预期的效果
mysql常用参数
// 导出全部数据库。// --all-databases , -Amysqldump -uroot -p --all-databases// 导出全部表空间。// --all-tablespaces , -Ymysqldump -uroot -p --all-databases --all-tablespaces// 不导出任何表空间。// --no-tablespaces , -ymysqldump -uroot -p --all-databases --no-tablespaces// 导出几个数据库。参数后面所有名字参量都被看作数据库名。// --databases, -Bmysqldump -uroot -p --databases [数据库名1] [数据库名2]// 每个数据库创建之前先添加drop数据库语句(如有原库则先drop后再重新create)。// --add-drop-databasemysqldump -uroot -p --all-databases --add-drop-databas// 每个数据表创建之前先添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)。// --add-drop-tablemysqldump -uroot -p --all-databases (默认添加drop语句)mysqldump -uroot -p --all-databases -skip-add-drop-table (取消drop语句)// 设置默认字符集,默认值为utf8。// --default-character-setmysqldump -uroot -p --all-databases --default-character-set=latin1// 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项。影响到的字段类型有BINARY、VARBINARY、BLOB。// --hex-blobmysqldump -uroot -p --all-databases --hex-blob// 使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用--skip-extended-insert取消选项。// --extended-insert, -emysqldump -uroot -p --all-databasesmysqldump -uroot -p --all-databases --skip-extended-insert (取消选项)// 使用完整的insert语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。// --complete-insert, -cmysqldump -uroot -p --all-databases --complete-insert// 不缓冲查询,直接导出到标准输出。默认为打开状态,使用--skip-quick取消该选项。// --quick, -qmysqldump -uroot -p --all-databasesmysqldump -uroot -p --all-databases --skip-quick// 该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。// 它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。// 要想导出大表的话,应结合使用--quick 选项。// --single-transactionmysqldump -uroot -p --all-databases --single-transaction// 不导出指定的表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。// --ignore-table例如:--ignore-table=database.table1 --ignore-table=database.table2 ……mysqldump -uroot -p --all-databases --ignore-table=mysql.user2、生产中常用的参数
注意:下面每个场景都会列出多个命令,读者根据生产的情况来参考
1.导出单库
- 格式:mysqldump -uroot -p [数据库名]
mysqldump -uroot -p [数据库名] >/backup/[导出的文件名].sql.gzmysqldump -uroot -p [数据库名] --single-transaction >/backup/[导出的文件名].sql.gzmysqldump -uroot -p [数据库名] --default-character-set=utf8 --set-gtid-purged=OFF --single-transaction >/backup/[导出的文件名].sql.gz2.导出多个库
- 格式:mysqldump -uroot -p -B [数据库名1] [数据库名2]
mysqldump -uroot -p -B [数据库名1] [数据库名2] >/backup/[导出的文件名].sql.gzmysqldump -uroot -p -B [数据库名1] [数据库名2] --single-transaction >/backup/[导出的文件名].sql.gzmysqldump -uroot -p -B [数据库名1] [数据库名2] --default-character-set=utf8 --set-gtid-purged=OFF --single-transaction >/backup/[导出的文件名].sql.gz
3.导出单个表
- 格式:mysqldump -uroot -p [数据库名] [表名]
mysqldump -uroot -p [数据库名] [表名] >/backup/[导出的文件名].sql.gzmysqldump -uroot -p [数据库名] [表名] --single-transaction >/backup/[导出的文件名].sql.gzmysqldump -uroot -p [数据库名] [表名] --default-character-set=utf8 --set-gtid-purged=OFF --single-transaction >/backup/[导出的文件名].sql.gz4.导出多个表
- 格式:mysqldump -uroot -p [数据库名] [表名1] [表名2]
mysqldump -uroot -p [数据库名] [表名1] [表名2] >/backup/[导出的文件名].sql.gzmysqldump -uroot -p [数据库名] [表名1] [表名2] --single-transaction >/backup/[导出的文件名].sql.gzmysqldump -uroot -p [数据库名] [表名1] [表名2] --default-character-set=utf8 --set-gtid-purged=OFF --single-transaction >/backup/[导出的文件名].sql.gz5.导入和导出大表
mysqldump -uroot -p --default-character-set=utf8 --quick \--extended-insert --single-transaction [数据库名] |gzip >/backup/[导出的文件名].sql.gzgzip按照需求来定,主要是对导出的sql数据的压缩
6.过滤库中的表后在导出
mysqldump -uroot -p --ignore-table=[数据库名.表名1] --ignore-table=[数据库名.表名2] >/backup/[导出的文件名].sql.gz在过滤库中的表后导出的数据的时候,是不需要单独指定库名的,只需要把需要过滤的库下对应的表填上,它就会自动的把那些填上库对应的表给过滤,将那些没有被过滤的表中的数据导出到指定文件中
数据
数据库
文件
文件名
语句
多个
参数
状态
备份
格式
生产
二进制
字段
字符
工具
常用
数据表
时候
空间
库格
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
区块链是下一代网络技术
网络安全两翼齐飞
家庭服务器win10
软件安装目录如何看数据库信息
ass数据库外键
温州第三方网络技术费用是多少
医院里的软件开发与运维岗位工资
网络安全最严重安全威胁
it咨询与软件开发
郴州市软件开发多少钱一个月
部队陷阱网络安全教育片
软件开发课程设计心得
数据库建立关系
创建数据库订阅
数据库优化配置
查重服务器
线上教育服务器频繁崩溃
rsa网络安全大会中国
江苏航信软件开发
无法更改数据库的所有者名称
培训班学习软件开发还是网络工程
开放数据库技术
传奇私服租服务器
中国期刊网出自哪个数据库
疫情对网络安全行业有什么影响
工业园区大数据软件开发口碑
软件开发类的专业课程
我的世界服务器新周目怎么开
大连金税盘安全接入服务器地址
软件开发讨厌笔试