MySQL备份之mysqldump
发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,mysqldump是mysql自带的数据库备份工具,属于单线程,大部分生产环境的mysql数据库备份都是使用该工具,mysqldump可以将数据导出为原生sql语句,在将其数据导入至数据库时,相当于是
千家信息网最后更新 2024年11月29日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安全错误
数据库的锁怎样保障安全
app注册登录需要连接服务器吗
大华股份软件开发待遇
南充网络安全知识
黑别人服务器
如何调节考试系统的数据库
如何实行网络安全活动
如何在表格中添加行数据库
企业数据库有哪些元素
衡阳市县域警务网络安全
软件开发转岗管理岗位难吗
火山软件开发可以开发哪些
两融系统软件开发周期
数据库备份还原和原来一样吗
网络安全宣传队伍队名
t320服务器raid
网络安全官齐聚
组件服务器快捷键
天津津煌软件开发有限公司
开源的软件开发方式
香港空间服务器
约会软件开发平台
搜索网络安全宣传标语
服务器远程管理卡详细说明
台州市云顶网络技术有限公司
北京正规软件开发服务保障
服务器任务管理器禁用桌面
如何连接vpn服务器
联通网络技术大会ppt
全国网络安全优秀学生奖
上海轶龙软件开发有限公司