返回顶部
首页 > 资讯 > 数据库 >MySQL数据备份多种参数介绍及简单示例
  • 620
分享到

MySQL数据备份多种参数介绍及简单示例

2024-04-02 19:04:59 620人浏览 安东尼
摘要

上篇文章中,我们介绍了几种 Mysql 数据备份方式的原理,本文我们将和大家来共同探讨这些数据备份方式如何来使用。关于数据备份的使用攻略,各路大神都有示例文章,本文对此做了简单的总结和汇总。

上篇文章中,我们介绍了几种 Mysql 数据备份方式的原理,本文我们将和大家来共同探讨这些数据备份方式如何来使用。关于数据备份的使用攻略,各路大神都有示例文章,本文对此做了简单的总结和汇总。

MySQL数据备份多种参数介绍及简单示例

Mysqldump

mysqldump 是 Mysql 自带的很好用的备份工具,常用于 MySQL 数据库的逻辑备份,将 MySQL 服务器中的数据库以标准的 sql 语言的方式导出,并保存到文件中。其语法为: mysqldump (选项)。

常用的语法有:

--add-drop-table :在每个创建数据库表语句前添加删除数据库表的语句;

--add-locks :备份数据库表时定数据库表;

--all-databases :备份 MySQL 服务器上的所有数据库;

--comments :添加注释信息;

--compact :压缩模式,产生更少的输出;

--complete-insert :输出完成的插入语句;

--databases :指定要备份的数据库;

--default-character-set :指定默认字符集;

--force :当出现错误时仍然继续备份操作;

--host :指定要备份数据库的服务器;

--lock-tables :备份前,锁定所有数据库表;

--no-create-db :禁止生成创建数据库语句;

--no-create-info :禁止生成创建数据库库表语句;

--passWord :连接 MySQL 服务器的密码;

--port : MySQL 服务器的端口号;

--user :连接 MySQL 服务器的用户名。

数据备份的简单实例:

mysqldump 导出整个数据库 :

mysqldump -u 用户名 -p 数据库名 > 导出的文件名

例: mysqldump -u linuxde -p smgp_apps_linuxde > linuxde.sql

mysqldump 导出一个表

mysqldump -u 用户名 -p 数据库名 表名 > 导出的文件名

例: mysqldump -u linuxde -p smgp_apps_linuxde users > linuxde_users.sql

mysqldump 导出一个数据库结构

mysqldump -u linuxde -p -d --add-drop-table smgp_apps_linuxde > linuxde_db.sql

Mydumper

mydumper 是 MySQL 数据库备份的一个轻量级第三方开源工具,备份方式为逻辑备份,支持多线程,备份速度远高于原生态的 mysqldump 。用法为: mydumper [OPTioN...] multi-threaded MySQL dumping 

常用的语法:

-B, --database              需要备份的库  

-T, --tables-list           需要备份的表,用逗号分隔  

-o, --outputdir             输出文件的目录  

-s, --statement-size        生成插入语句的字节数, 默认 1000000

-r, --rows                  分裂成很多行块表  

-c, --compress              压缩输出文件  

-e, --build-empty-files     即使表没有数据,还是产生一个空文件  

-x, --regex                 正则表达式: 'db.table'  

-i, --ignore-engines        忽略的存储引擎,用逗号分隔  

-m, --no-schemas            不导出表结构  

-k, --no-locks              不执行共享读锁 警告:这将导致不一致的备份  

-l, --long-query-guard      设置长查询时间,默认60秒, 

--kill-long-queries         kill掉长时间执行的查询   

-b, --binlogs               导出binlog  

-D, --daemon                启用守护进程模式  

-I, --snapshot-interval     dump快照间隔时间,默认60s,需要在daemon模式下  

-L, --logfile               日志文件  

-t, --threads               使用的线程数,默认4  

-C, --compress-protocol     在mysql连接上使用压缩协议  

-V, --version               Show the program version and exit  

-v, --verbose               更多输出, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2

数据备份的简单示例

1 备份单个库  

# mydumper -u 用户名 -p 密码 -B 需要备份的库名 -o /tmp/bak

2 备份所有数据库:全库备份期间除了information_schema与performance_schema之外的库都会被备份

# mydumper -u 用户名 -p 密码 -o /tmp/bak

 -o 输出文件的目录(备份输出指定的目录)

3 备份单表

# mydumper -u 用户名 -p 密码 -B 库名 -T 表名 -o /tmp/bak

-T 需要备份的表,多表用逗号分隔 -o指定输出备份文件路径 

4 备份多表

# mydumper -u 用户名 -p 密码 -B 库名 -T 表1,表2 -o /tmp/bak

5、当前目录自动生成备份日期时间文件夹,不指定-o参数及值时默认为:export-20150703-145806

mydumper -u 用户名 -p 密码 -B 数据库名字 -T 表名

6、不带表结构备份表

# mydumper -u 用户名 -p 密码 -B 数据名字 -T 表名 -m

-m 不导出表结构

7、备份特定表

# mydumper -u 用户名 -p 密码 -B 数据库名字  --regex=actor* -o /tmp/bak

只备份以actor*开头的表

Xtrabackup

前两种工具都是逻辑备份,而Xtrabackup是物理备份,是商业备份工具InnoDB Hotbackup的替代品,包含的两个主要工具分别是xtrabackup和innobackupex。其中xtrabackup只能备份innodb和xtradb两种引擎的表,而不能备份myisam引擎的表,而innobackupex是一个封装了xtrabackup的Perl脚本,可同时备份innodb和myisam,但在对myisam备份时需要加一个全局的读锁,且myisam不支持增量备份。

另外,还有两个相对比较小众的工具分别是xbcrypt和xbstream ,xbcrypt是加解密用的,xbstream 类似于tar,是 Percona 自己实现的一种支持并发写的流文件格式。

常用的参数

1) innobackupex 参数选项

--defaults-file=[MY.CNF]    //指定配置文件:只能从给定的文件中读取默认选项。 且必须作为命令行上的第一个选项;必须是一个真实的文件,它不能是一个符号链接。

--databases=#    //指定备份的数据库和表,格式为:--database="db1[.tb1] db2[.tb2]" 多个库之间以空格隔开,如果此选项不被指定,将会备份所有的数据库。

--include 传递给 xtrabackup --tables。

--tables-file=FILE    //此选项的参数需要是一个文件名,此文件中每行包含一个要备份的表的完整名称,格式为databasename.tablename。该选项传递给 xtrabackup --tables-file,与--tables选项不同,只有要备份的表的库才会被创建。

--compact    //创建紧凑型备份,忽略所有辅助索引页,只备份data page;通过--apply-log中重建索引--rebuild-indexs。

--compress    //此选项指示xtrabackup压缩备份的InnoDB数据文件,会生成 *.qp 文件。

--decompress    //解压缩qp文件,为了解压缩,必须安装 qpress 工具。

--no-timestamp    //指定了这个选项备份将会直接存储在 BACKUP-DIR 目录,不再创建时间戳文件夹。

想查看更多的参数,请戳:

https://www.percona.com/doc/perconaxtrabackup/2.4/innobackupex/innobackupex_option_reference.html

2) xtrabackup 参数选项

--apply-log-only    //这个选项使在准备备份(prepare)时,只执行重做(redo)阶段,这对于增量备份非常重要。

--backup   //进行备份并将其放入

--check-privileges   //此选项检查Percona XtraBackup是否具有所有必需的权限。

--compact  //跳过辅助索引页来创建压缩备份。

想查看更多的参数,请戳: 

Https://www.percona.com/doc/percona-xtrabackup/LATEST/xtrabackup_bin/xbk_option_reference.html

数据备份的简单示例

innobackupex完全备份

#备份所有数据库:备份目录里生成日期命名的文件夹

innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123 /home/zhoujy/xtrabackup/

#备份所有数据库:指定备份目录

innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123 --no-timestamp /home/zhoujy/xtrabackup/

#备份指定数据库名,多个数据库用空格分开

innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123 --no-timestamp --databases="dba_test xtra_test" /home/zhoujy/xtrabackup/

#备份指定表

备份不同库下的不同表

1:innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123 --no-timestamp --databases="dba_test.tb1 xtra_test.M" /home/zhoujy/xtrabackup/

备份一个库下面的表,支持正则,如:--include='^mydatabase[.]mytable' 

2:innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123 --no-timestamp --include='xtra_test.I' /home/zhoujy/xtrabackup/

备份指定文件里的表,文件里每行的格式是:dbname.tbname

3:innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123 --no-timestamp --tables-file=/tmp/tbname.txt  /home/zhoujy/xtrabackup/

innobackupex 增量备份

#全量备份,这里举例单个表,也可以是指定几个库,甚至所有库

innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123 --no-timestamp --databases="xtra_test.I" /home/zhoujy/xtrabackup/

#增量备份1

innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123 --no-timestamp --databases="xtra_test.I" --incremental-basedir=/home/zhoujy/xtrabackup/  --incremental /home/zhoujy/increment_data/

#增量备份2

innobackupex --defaults-file=/etc/mysql/my.cnf --user=root --password=123 --no-timestamp --databases="xtra_test.I" --incremental-basedir=/home/zhoujy/increment_data/ --incremental /home/zhoujy/increment_data1/

Xtrabackup全量备份

1:指定--defaults-file

xtrabackup --defaults-file=/etc/mysql/my.cnf --user=root --password=123  --backup --target-dir=/home/zhoujy/xtrabackup/

2:用--datadir取代--defaults-file

xtrabackup --user=root --password=123  --backup --datadir=/var/lib/mysql/ --target-dir=/home/zhoujy/xtrabackup/

Xtrabackup增量备份

#备份,这里指定几个库和表,也可以是所有库

1:库全量备份

xtrabackup --user=root --password=123 --datadir=/var/lib/mysql/ --backup --parallel=3 --databases="xtra_test dba_test" --target-dir=/home/zhoujy/xtrabackup/

2:增量备份

xtrabackup --user=root --password=123 --datadir=/var/lib/mysql/ --backup --parallel=3 --databases="xtra_test dba_test" --target-dir=/home/zhoujy/xtrabackup1/ --incremental-basedir=/home/zhoujy/xtrabackup/

注意:要是有多个增量备份,第2个增量需要指定第一个增量的目录。和innobackupex一样。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据备份多种参数介绍及简单示例

本文链接: https://lsjlt.com/news/47959.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL数据备份多种参数介绍及简单示例
    上篇文章中,我们介绍了几种 MySQL 数据备份方式的原理,本文我们将和大家来共同探讨这些数据备份方式如何来使用。关于数据备份的使用攻略,各路大神都有示例文章,本文对此做了简单的总结和汇总。 ...
    99+
    2024-04-02
  • 备份MySQL数据库的各种方法介绍
    不知道大家之前对类似备份MySQL数据库的各种方法的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完备份MySQL数据库的各种方法你一定会有所收获的。 查看...
    99+
    2024-04-02
  • Python函数参数基础介绍及示例
    目录视频函数的参数位置参数默认参数默认参数陷阱视频 观看视频 函数的参数 定义函数时,我们把参数的名字和位置确定下来,函数的接口定义就完成了。参数在函数名后的括号内指定。您可以根据需...
    99+
    2024-04-02
  • MySQL数据库多实例介绍及安装
    MySQL数据库多实例介绍及安装1.mysql多实例实质在一台机器上开启多个不同的mysql服务端口(3306,3307),运行多个mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服务; 多个实例共用一套...
    99+
    2017-04-12
    MySQL数据库多实例介绍及安装 数据库入门 数据库基础教程 数据库 mysql
  • 优化MySQL数据库性能的十个参数简单介绍
    这篇文章主要介绍“优化MySQL数据库性能的十个参数简单介绍”,在日常操作中,相信很多人在优化MySQL数据库性能的十个参数简单介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • 简单操作mysql数据库介绍
    下文主要给大家带来简单操作mysql数据库介绍,希望这些内容能够带给大家实际用处,这也是我编辑简单操作mysql数据库介绍这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。1、显示所有数据库:  SH...
    99+
    2024-04-02
  • 备份与恢复MySQL数据库的三种方法介绍
    下文给大家带来关于备份与恢复MySQL数据库的三种方法介绍,感兴趣的话就一起来看看这篇文章吧,相信看完备份与恢复MySQL数据库的三种方法介绍对大家多少有点帮助吧。MySQL数据库的备份与恢复的三种方法1....
    99+
    2024-04-02
  • 多种方法备份Mysql数据库
     前言:Mysql数据库的备份是重中之重,在生产过程中,数据库会因硬件故障,软件故障,******,误操作等造成数据丢失,但经过精密的备份,完全能把数据恢复过来.一,备份工具这里介绍几种常用的备...
    99+
    2024-04-02
  • 简单介绍Python中的几种数据类型
    大体上把Python中的数据类型分为如下几类: Number(数字) 包括int,long,float,complex String(字符串) 例如:hello,"he...
    99+
    2022-06-04
    几种 数据类型 简单
  • mysql数据库多种备份及读写分离搭建
    数据库的版本1.社区版2.企业版3.集群版数据库的安装1.     专用软件包管理器(二进制)deb 、rpm等mysql   &nbs...
    99+
    2024-04-02
  • MySQL数据库逻辑备份工具mysqldump介绍
    下文给大家带来有关MySQL数据库逻辑备份工具mysqldump介绍内容,相信大家一定看过类似的文章。我们给大家带来的有何不同呢?一起来看看正文部分吧,相信看完MySQL数据库逻辑备份工具mysqldump...
    99+
    2024-04-02
  • SHELL 自动备份MYSQL数据库(备份单个数据库及所有数据库)
    SHELL 自动备份MYSQL数据库备份单个数据库及所有数据库楓城浪子原创,转载请标明出处!更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com微信b...
    99+
    2024-04-02
  • Mysql数据库的备份及恢复参数详解
    常见选项: --all-databases, -A: 备份所有数据库--databases, -B: 用于备份多个数据库,如果没有该选项,mysqldump把第一个名字参数作为数据库名,后面的作为表名。使用...
    99+
    2024-04-02
  • 简单实用的mysql数据库备份 网页文件备份
    安装percona-xtrabackuphttp://990487026.blog.51cto.com/10133282/1759237root@uat:/backup# cat xtr...
    99+
    2024-04-02
  • MySQL备份命令mysqldump参数说明与示例
    1. 语法选项说明-h, --host=name主机名-P[ port_num], --port=port_num用于连接MySQL服务器的的TCP/IP端口号--master-data这个选项可以把bin...
    99+
    2024-04-02
  • 简单介绍mysql数据库的操纵语言
    下面讲讲关于mysql数据库的操纵语言,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql数据库的操纵语言这篇文章你一定会有所受益。Dml语言增删改查dml语言增删改查插入...
    99+
    2024-04-02
  • 简单介绍MySQL数据库的基础知识
    下文主要给大家带来MySQL数据库的基础知识,希望这些内容能够带给大家实际用处,这也是我编辑MySQL数据库的基础知识这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数据库1 、定义数据库,可以简单...
    99+
    2024-04-02
  • Python全栈介绍MySQL数据库的示例
    这篇文章给大家分享的是有关Python全栈介绍MySQL数据库的示例的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。主要三个方面:1.Linux终端命令2.MySQL语句3.Pyt...
    99+
    2024-04-02
  • Docker容器数据卷介绍及操作示例
    目录容器数据卷介绍什么是数据卷数据卷能做什么?特点Docker 容器数据卷操作直接命令添加数据卷 dockerfile 添加数据卷 Docker 数据卷容器数据卷...
    99+
    2024-04-02
  • MySQL定时备份数据库操作示例
    本文实例讲述了MySQL定时备份数据库操作。分享给大家供大家参考,具体如下: 1. 查看mysqldump root@laowang:/# which mysqldump /usr/bin/mysqldump ...
    99+
    2022-05-17
    MySQL 定时备份数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作