龙空技术网

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

blueic1115 19

前言:

眼前各位老铁们对“mysql常用的两种注释方式分别是什么”可能比较关心,咱们都需要了解一些“mysql常用的两种注释方式分别是什么”的相关文章。那么小编在网络上收集了一些关于“mysql常用的两种注释方式分别是什么””的相关内容,希望我们能喜欢,小伙伴们一起来学习一下吧!

概述:很多时候我们对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

图一 有锁表

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的方法)

图二 没有锁

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

图三没有锁

#排除表

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参数的区别

图四

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`;

标签: #mysql常用的两种注释方式分别是什么