千家信息网

MySQL备份之mysqldump

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,mysqldump是mysql自带的数据库备份工具,属于单线程,大部分生产环境的mysql数据库备份都是使用该工具,mysqldump可以将数据导出为原生sql语句,在将其数据导入至数据库时,相当于是
千家信息网最后更新 2024年09月22日MySQL备份之mysqldump

mysqldumpmysql自带的数据库备份工具,属于单线程,大部分生产环境的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安全错误 数据库的锁怎样保障安全 无锡信息软件开发 武汉工程网络技术学院 开发非法配资软件开发者判刑案例 苹果app怎么做软件开发 互联网惠农生物科技有限公司 网络安全基础法最新消息 网络安全手抄报内容10 服务器中两段机型是什么意思 数据库服务器安全策略配置 帆软填报报表写入数据库 服务器系统和普通的区别 淄博游戏软件开发公司有哪些 安卓模拟器清理数据库 服务器硬盘故障处理心得 初中生学软件开发行吗 鞍山市网络安全宣传 服务器安全运行和数据备份 大话西游2经典版火爆服务器 君亿网络技术服务中心 java服务器开发简历模板 违反国家网络安全法 从中国财经报刊数据库 服务器中两段机型是什么意思 软件开发变更频繁 网络安全第一公司 龙之谷服务器最多的玩家 科漫网络技术有限公司 计算机网络安全是是一门涉及 数据库为什么要容器化 奥山战场分服务器吗
0