MySQL备份之mysqldump
admin
2023-04-16 16:01:50
0

mysqldumpmysql自带的数据库备份工具,属于单线程,大部分生产环境的mysql数据库备份都是使用该工具,mysqldump可以将数据导出为原生sql语句,在将其数据导入至数据库时,相当于是执行一遍备份文件中的所有sql语句,

mysqldump提供了丰富的options选项,可以在导出或者导入数据的时候,添加需要的options,以便达到用户预期的效果

MySQL备份之mysqldump

mysql常用参数

// 导出全部数据库。
// --all-databases , -A
mysqldump -uroot -p --all-databases

// 导出全部表空间。
// --all-tablespaces , -Y
mysqldump -uroot -p --all-databases --all-tablespaces

// 不导出任何表空间。
// --no-tablespaces , -y
mysqldump -uroot -p --all-databases --no-tablespaces

// 导出几个数据库。参数后面所有名字参量都被看作数据库名。
// --databases, -B
mysqldump -uroot -p --databases [数据库名1] [数据库名2]

// 每个数据库创建之前先添加drop数据库语句(如有原库则先drop后再重新create)。
// --add-drop-database
mysqldump -uroot -p --all-databases --add-drop-databas

// 每个数据表创建之前先添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项)。
// --add-drop-table
mysqldump -uroot -p --all-databases (默认添加drop语句)
mysqldump -uroot -p --all-databases –skip-add-drop-table (取消drop语句)

// 设置默认字符集,默认值为utf8。
// --default-character-set
mysqldump -uroot -p --all-databases --default-character-set=latin1

// 使用十六进制格式导出二进制字符串字段。如果有二进制数据就必须使用该选项。影响到的字段类型有BINARY、VARBINARY、BLOB。
// --hex-blob
mysqldump -uroot -p --all-databases --hex-blob

// 使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用--skip-extended-insert取消选项。
// --extended-insert, -e
mysqldump -uroot -p --all-databases
mysqldump -uroot -p --all-databases --skip-extended-insert (取消选项)

// 使用完整的insert语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。
// --complete-insert, -c
mysqldump -uroot -p --all-databases --complete-insert

// 不缓冲查询,直接导出到标准输出。默认为打开状态,使用--skip-quick取消该选项。
// --quick, -q
mysqldump -uroot -p --all-databases
mysqldump -uroot -p --all-databases --skip-quick

// 该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。
// 它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。
// 要想导出大表的话,应结合使用--quick 选项。
// --single-transaction
mysqldump -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.gz
mysqldump -uroot -p  [数据库名] --single-transaction >/backup/[导出的文件名].sql.gz
mysqldump -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.gz
    mysqldump -uroot -p  -B [数据库名1] [数据库名2] --single-transaction >/backup/[导出的文件名].sql.gz
    mysqldump -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.gz
mysqldump -uroot -p  [数据库名] [表名] --single-transaction >/backup/[导出的文件名].sql.gz
mysqldump -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.gz
mysqldump -uroot -p  [数据库名] [表名1] [表名2] --single-transaction >/backup/[导出的文件名].sql.gz
mysqldump -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

在过滤库中的表后导出的数据的时候,是不需要单独指定库名的,只需要把需要过滤的库下对应的表填上,它就会自动的把那些填上库对应的表给过滤,将那些没有被过滤的表中的数据导出到指定文件中

上一篇:主从搭建

下一篇:Oracle12.2 ORA-03113

相关内容

热门资讯

凤凰连线:中美新一轮经贸磋商,... 中美双方将在韩国举行第七轮经贸磋商。美方的阵容和日程安排如何?在这轮磋商中有哪些关切?凤凰卫视驻韩国...
知情人士:阿联酋秘密打击伊朗,... 据参考消息援引美国《华尔街日报》网站5月11日报道,多名知情人士透露,阿联酋已对伊朗发动军事打击,令...
美防长称美伊停火协议依然有效 △赫格塞思(资料图)当地时间5月12日,美国国防部长赫格塞思表示,他们针对伊朗问题的所有情况都制定了...
特朗普二度来华,五大博弈看点,... 就在5月11日,外交部官宣了一则重磅消息:应中国邀请,美国总统特朗普将于5月13日至15日开启访华行...
科学家预测:“哥斯拉级”厄尔尼... 科学家近日发出警告,太平洋上空正在形成一种被称为“哥斯拉”级的罕见厄尔尼诺气候模式。有科学家预测,这...
200亿美金估值的可灵,值母公... 文 | 影子备忘录 要说今年科技圈最火的赛道,AI短剧绝对排得上号。一部AI仿真人短剧,3人团队、...
多名中国公民在越南乘机遗失财物... 近日,多名中国公民反映在越乘机过程中财物遗失,中国驻胡志明市总领馆提醒中国公民注意:一、强化防范意识...
电视机尺寸一览表70寸长宽 电视机尺寸一览表70寸长宽:一般液晶电视显示屏都是16比9,70寸就是说客它对角线长70寸是106....
东莞一社区推出生育奖励方案,二... 极目新闻记者 柳之萌近日,广东东莞万江街道谷涌社区出台生育奖励方案,对符合条件的二孩家庭一次性奖励1...
80寸液晶电视尺寸长宽多少厘米 80寸液晶电视尺寸长宽多少厘米:80寸的液晶电视大概为181x111厘米,即长度大概在181厘米,宽...