mysql常用逻辑备份mysqldump的使用方法

mysql常用逻辑备份mysqldump的使用方法概述 很多时候我们对 mysql 的备份有不同的需求 比如我们只需要对 mysql 数据库实例中的某一个库的数据 某一个库的表结构 某个表的数据 某个表的结构 多个表的数据 多个表的结构 或者是对一些指定前缀的表的数据 结构进行备份等等 为了不影响

大家好,欢迎来到IT知识分享网。

概述:很多时候我们对mysql的备份有不同的需求,比如我们只需要对mysql数据库实例中的某一个库的数据、某一个库的表结构、某个表的数据、某个表的结构、多个表的数据、多个表的结构、或者是对一些指定前缀的表的数据、结构进行备份等等,为了不影响当前的数据写入,我们在操作的时候需要不能锁表 等等。

#备份所有数据库

1、mysqldump -h127.0.0.1 -P3306 -uroot -p –all-databases –master-data=2 –single-transaction –quick -R –events > /backup/all_db.sql

( 说明: –single-transaction 使用该参数,使备份innodb表时不锁表进行,但官方说法需要增加参数 –skip-opt ,因为–opt参数默认开启,包含了锁表方法,需要注意。

–master-data=2 备份的文件中增加注释的binlog文件,以及pos节点,以便增加主从时使用,当然,不需要的时候也可以不加此参数。

–quick 该参数用于加快数据备份。 )

#备份指定前缀的表

1、mysqldump -h127.0.0.1 -P33106 -uroot -p dedeutfdb $(mysql -h127.0.0.1 -P33106 -uroot -p -D dedeutfdb -Bse “show tables like ‘dede_sys_%'”) > /tmp/4.sql

#同上,最后的_需要转义,匹配带有dede_sys_的表

2、mysqldump -h127.0.0.1 -P33106 -uroot -p dedeutfdb $(mysql -h127.0.0.1 -P33106 -uroot -p -D dedeutfdb -Bse “show tables like ‘dede_sys\_%'”) > /tmp/4.sql

#导出指定的多个表(包含表数据和表结构)

1、mysqldump -h127.0.0.1 -P33106 -uroot -p dedeutfdb –tables dede_sys_enum dede_sys_module > /tmp/2tables01.sql (会锁表)

2、mysqldump -h127.0.0.1 -P33106 -uroot -p dedeutfdb –single-transaction –skip-opt –tables dede_sys_enum dede_sys_module > /tmp/2tables02.sql (不锁表)

#只导出指定数据库的 数据内容 或 表结构

-t, –no-create-info Don’t write table creation info.

1、mysqldump -h127.0.0.1 -P33106 -uroot -p -t dedeutfdb > /tmp/nocreate01.sql

-d, –no-data No row information.

1、mysqldump -h127.0.0.1 -P33106 -uroot -p -d dedeutfdb > /tmp/nodata01.sql

2、mysqldump -h127.0.0.1 -P33106 -uroot -p –skip-opt -d dedeutfdb > /tmp/nodata02.sql (加参数–skip-opt,没有“DROP TABLE IF EXISTS”等语句)

#备份多个指定的数据表的表结构(不包含数据)

1、mysqldump -h127.0.0.1 -P33106 -uroot -p -d dedeutfdb –tables dede_sys_enum dede_sys_module > /tmp/2tables-nodata01.sql

#备份多个指定的数据表的数据(不包含创建表结构)

1、mysqldump -h127.0.0.1 -P33106 -uroot -p -t dedeutfdb –tables dede_sys_enum dede_sys_module > /tmp/2tables-nocreate01.sql

mysql常用逻辑备份mysqldump的使用方法

图一 有锁表

2、mysqldump -h127.0.0.1 -P33106 -uroot -p -t dedeutfdb –single-transaction –skip-opt –tables dede_sys_enum dede_sys_module > /tmp/2tables-nocreate01.sql (不锁表操作方法,但插入数据方式有变化,也可以下面3的方法)

mysql常用逻辑备份mysqldump的使用方法

图二 没有锁

3、mysqldump -h127.0.0.1 -P33106 -uroot -p -t dedeutfdb –single-transaction –skip-add-drop-table –skip-add-locks –tables dede_sys_enum dede_sys_module > /tmp/2tables-nocreate01.sql

mysql常用逻辑备份mysqldump的使用方法

图三没有锁

#排除表

1、mysqldump -h127.0.0.1 -P33106 -uroot -p dedeutfdb –ignore-table=dedeutfdb.dede_addonarticle > j01.sql (可以多个–ignore-table=dedeutfdb. 排除多个表)

#备份所有数据库

1、mysqldump -h127.0.0.1 -uroot -pPWD123 -A > db-all.sql

// -A, –all-databases // 所有数据库 , 包括mysql等

#备份指定的某个或几个数据库

2、mysqldump -h127.0.0.1 -uroot -pPWD123 -B db01 db02 > db1-2.sql

-B, –databases // 指定数据库 ,备份多个库时必须指定这个参数,否则会认为db02是db01中的表。

#备份一个库,使用-B, –databases参数的区别

mysql常用逻辑备份mysqldump的使用方法

图四

1、mysqldump -h127.0.0.1 -uroot -pPWD123 -B db01 > db01.sql

2、mysqldump -h127.0.0.1 -uroot -pPWD123 db01 > db01.sql

(以上2个方式都是备份单个数据库,但不同的是加参数时,会在sql中增加一下语句,

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `dedeutfdb` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `dedeutfdb`;

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/109303.html

(0)
上一篇 2024-11-16 08:33
下一篇 2024-11-16 15:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信