MySQL备份之mysqldump
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,mysqldump是mysql自带的数据库备份工具,属于单线程,大部分生产环境的mysql数据库备份都是使用该工具,mysqldump可以将数据导出为原生sql语句,在将其数据导入至数据库时,相当于是
千家信息网最后更新 2025年02月01日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.user
2、生产中常用的参数
注意:下面每个场景都会列出多个命令,读者根据生产的情况来参考
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.gz
2.导出多个库
- 格式: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.gz
4.导出多个表
- 格式: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.gz
5.导入和导出大表
mysqldump -uroot -p --default-character-set=utf8 --quick \--extended-insert --single-transaction [数据库名] |gzip >/backup/[导出的文件名].sql.gz
gzip按照需求来定,主要是对导出的sql数据的压缩
6.过滤库中的表后在导出
mysqldump -uroot -p --ignore-table=[数据库名.表名1] --ignore-table=[数据库名.表名2] >/backup/[导出的文件名].sql.gz
在过滤库中的表后导出的数据的时候,是不需要单独指定库名的,只需要把需要过滤的库下对应的表填上,它就会自动的把那些填上库对应的表给过滤,将那些没有被过滤的表中的数据导出到指定文件中
数据
数据库
文件
文件名
语句
多个
参数
状态
备份
格式
生产
二进制
字段
字符
工具
常用
数据表
时候
空间
库格
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
东北大学软件开发
网络安全手抄抄报电脑
学软件开发的基本功
服务器自动切换开关接线图解
运输软件开发公司
服务器卡在开机加载界面
普通网络安全认证
服务器按天
宝塔怎么看数据库启动没
计算机等级三级网络技术
云服务器的cpu
成都人保寿险软件开发
在办公室玩游戏无法连接服务器
盒马服务器在哪
金东图腾服务器机柜厂家
如何入侵或传输假数据库
江苏联想服务器虚拟化多少钱
校园网络安全应急演练预案
网络安全 东亚
网络安全别样红
互联网教育科技有限公司
太仓宝沃招聘软件开发
现代电信网络技术
软件开发商会什么
学校网络安全管理责任书
二轮复习软件开发
电信连网通服务器
ssr编辑服务器
gpu服务器 报价
中小学校教师网络安全协议