码迷,mamicode.com
首页 > 数据库 > 详细

(4.12)mysql备份还原——mysql逻辑备份之mysqldump

时间:2019-05-06 01:13:21      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:4.4   ada   综合   tin   mysql   场景   events   info   ack   

关键词:mysql逻辑备份介绍,mysqldump

1、mysql逻辑备份介绍

  【1.1】备份内容:数据库的结构定义语句+数据内容的插入语句,备份出来的文件可以编辑

  【1.2】使用场景:数据量较少的库,比较适合100G数据量以内的

  逻辑备份的特点

    (1)sql语句组成的文件,可以编辑截取部分单独使用。

    (2)备份文件比物理文件小

    (3)可以细化到表/表的内容

    (4)速度慢

    (5)可以跨平台恢复/迁移

 

2、逻辑备份工具

  【1.1】mysqldump(单线程)、mysqlpump(多线程,5.7以后才有):官方mysql备份工具

  【1.2】mydumper:开源的基于mysqldump的一个优化,多线程,速度介于两者之间:主要用于Mariadb、Percona、官方的mysql

 

3、mysqldump工具介绍使用

  备份可以包含的内容:

  create database;  create tables;  insert into;

  store procedure;  trigger;  function;  events;

 

4、mysqldump常用参数释义

【4.1】服务器相关的常用参数

4.1.1】mysqldump客户端读取
      读取my.cnf下的 [client] 以及 [mysqldump]  
【4.2.2】基本形式
      mysqldump -uroot -p‘123456‘ -h192.168.1.105 -P3306
      -u --user
      -p --password
      -h --host
      -P --port
      --protocol=tcp,socket,momory
      --max-allowed-packet
      --net-buffer-length

【4.2】备份内容的常用参数

#可以备份
#所有的库、几个库、一个库、一个表、几个表、一个表的内容、存储过程、函数、触发器、调度事件

-A --all -databases
-B --databases  #-B test test1备份test库也test1库
-y --all-tablespaces #备份所有表空间

-n --no-create-db #不导出数据库创建语句
-t --no-create-info #不到处表结构创建语句
-d --no-data #不导出数据,只导出表结构

-R --routines #不导出存储过程和函数,默认不导出
--triggers #导出触发器,默认导出
--skip-triggers #不导出触发器
-E --events #导出调度事件,默认不导出

--ignore-table #不导出某个库的某个表,或者不导出几个表test.test101
-w --where=‘‘ #导出满足条件的内容数据

【4.3】备份与实务和锁相关的选项

1】--single-transaction 
#可以得到一致性的导出结果。只针对Innodb,导出过程中不允许运行表的DDL。因为实务持有表的metadata lock的共享锁,而DDL会申请元数据库的排它锁(X锁),所以会阻塞。
#--single-transaction还会关掉你默认的--lock-tables选项(即不加锁),因为mysqldump默认会打开一个lock-table锁住所有的表。那么只能加--master-data才能加锁。

【2】--lock-tables
#默认打开的,在这个锁表时导一个锁一个,导完解锁。

【3】--lock-all-tables
#会把所有的表都给锁了,慢慢导,导完解锁。【1】【2】【3】互斥。

【4】--flush-logs
#导出数据时,刷新二进制日志,达到一致性导出。

【5】--flush-privileges
#导出权限语句到备份文件

【6】--master-data
#有3个值(0,1,2)
    (0):默认是0,不写入binlog日志记录
    (1):在dump出来的文件中有这么个语句。change master to ...pos 等记录binlog文件及终点。
    (2):#change master to ...pos 等记录binlog文件及终点。(注释掉)

【4.4】综合使用一下

  mysqldump -uroot -p --single-transaction --master-data=2 --fulsh-privileges --routines

(4.12)mysql备份还原——mysql逻辑备份之mysqldump

标签:4.4   ada   综合   tin   mysql   场景   events   info   ack   

原文地址:https://www.cnblogs.com/gered/p/10817309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!