使用mysqldump命令行工具创建逻辑备份:

注意mysqldump的版本和路径
mysqldump命令创建的是逻辑备份,结果集有两种格式:一种是将数据转换成标准的SQL语句(一堆CREATE,DROP,INSERT等语句),另一种是将数据按照指定分隔符,输出成定界格式的平面文件。
[root@mydb1 ~]# mysqldump
usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump –help

 

mysqldump 参数详解:

--single-transaction
用于保证innodb备份数据一致性,配合RR隔离级别使用;当发起事务,读取一个快照版本,直到备份结束时,都不会读取到本事务开始之后提交的数据;(很重要)
-q, --quick
加 SQL_NO_CACHE 标示符来确保不会读取缓存里的数据-l
--lock-tables
发起 READ LOCAL LOCK锁,该锁不会阻止读,也不会阻止新的数据插入
--master-data
两个值 1和2,如果值等于1,就会添加一个CHANGE MASTER语句(后期配置搭建主从架构)
如果值等于2,就会在CHANGE MASTER语句前添加注释(后期配置搭建主从架构)
-c, --complete-insert;
导出完整sql语句
-d,--no-data;
不导出数据,只导表结构
-t,--no-create-info;
只导数据,不导表结构
-w, --where=name ;
按条件导出想要的数据
--set-gtid-purged,在gtid环境中使用
备份数据库:
备份单个数据库或单个数据库中的指定表:
mysqldump [OPTIONS] database [tb1] [tb2]…
备份多个数据库:
mysqldump [OPTIONS] –databases
[OPTIONS] DB1 [DB2 DB3...]
备份所有数据库:
mysqldump [OPTIONS] –all-databases
[OPTIONS]
利用mysql命令恢复数据:
mysql -uroot -proot23 db_name < table_name.sql
 

通过--where选项导出满足条件的数据
mysqldump -uroot -p --single-transaction --master-data --where='id < 10' test02 goods_code_info > TableConditon.sql
备注:--where等号的后面的条件,必须要用括号扩起来.上面的语句的作用,导出test02库下goods_code_info表中满足id<10这个条件的记录.
注意sql_log_bin和gtid_purged
time /usr/local/mysql/bin/mysqldump -uroot -pmsds007 --single-transaction --master-data=2 -A -S /app/mysqldata/3306/mysql.sock > db3306-`date +%Y%m%d`.sql
time /usr/local/mysql/bin/mysqldump -uroot -pmsds007 --single-transaction --master-data=2 --set-gtid-purged=off mytest -S /app/mysqldata/3306/mysql.sock > db3306-`date +%Y%m%d`_mytest.sql
time /usr/local/mysql/bin/mysql -uroot -pmsds007 -S /app/mysqldata/3306/mysql.sock < db3306-20170710.sql
每次导完数据,尽量flush privileges;一下
使用mysqlbinlog恢复--skip-gtids 忽略gtid信息
 

查看导出的文件,是先drop表再create表,再看有没有乱码,注意字符集

打开general log执行

time /usr/local/mysql/bin/mysqldump -uroot -pmsds007 --single-transaction --master-data=2 -A -S /app/mysqldata/3306/mysql.sock > db3306-`date +%Y%m%d`.sql

看general log的详细信息

原理图

图片转载https://blog.51cto.com/yanzongshuai/2044403

mysqldump原理及实战的更多相关文章

  1. jQuery源码:从原理到实战

    jQuery源码:从原理到实战 jQuery选择器对象 $(".my-class"); document.querySelectorAll*".my-class" ...

  2. Keepalived原理与实战精讲--VRRP协议

    . 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...

  3. Spark MLlib特征处理:OneHotEncoder OneHot编码 ---原理及实战

    http://m.blog.csdn.net/wangpei1949/article/details/53140372 Spark MLlib特征处理:OneHotEncoder OneHot编码 - ...

  4. Istio 流量治理功能原理与实战

    一.负载均衡算法原理与实战 负载均衡算法(load balancing algorithm),定义了几种基本的流量分发方式,在Istio中共有4种标准负载均衡算法. •Round_Robin: 轮询算 ...

  5. Oracle特殊恢复原理与实战(DSI系列)

    1.深入浅出Oracle(DSI系列Ⅰ) 2.Oracle特殊恢复原理与实战(DSI系列Ⅱ) 3.Oracle SQL Tuning(DSI系列Ⅲ)即将开设 4.Oracle DB Performan ...

  6. Java并发编程原理与实战五:创建线程的多种方式

    一.继承Thread类 public class Demo1 extends Thread { public Demo1(String name) { super(name); } @Override ...

  7. Zookeeper原理和实战开发经典视频教程 百度云网盘下载

    Zookeeper原理和实战开发 经典视频教程 百度云网盘下载 资源下载地址:http://pan.baidu.com/s/1o7ZjPeM   密码:r5yf   

  8. Identity Server 4 原理和实战(完结)_汇总贴

    视频地址:https://www.bilibili.com/video/av42364337 语雀地址:https://www.yuque.com/yuejiangliu/dotnet/solenov ...

  9. DNS tunnel的原理及实战

    DNS tunnel的原理及实战 摘自:http://netsec.ccert.edu.cn/zhengming/2011/11/01/%E8%BD%AC%E8%BD%BD%EF%BC%9Adns-t ...

随机推荐

  1. Ubuntu 14.04 下安装redis后运行redis-cli 报出redis Connection refused错误【已解决】

    在运行redis-cli运行后爆出错误,看了网上的都没有用例如:改ip,注释bind 127.0.0.1,或者是先运行./redis-server redis.conf,都没有用 只需要: 找到red ...

  2. java spring boot- freemarker 配置 yml使用流程

    1.pom.xml  加入maven 依赖 <!-- 引入 freemarker 模板依赖 --><dependency> <groupId>org.springf ...

  3. CRT小键盘输入乱码

    Options --> Session Options --> Terminal --> Emulation --> Modes 去选中 Enable keypad mode ...

  4. FOFA 批量采集url 图形化界面编写

    这是脚本 # coding:utf- import requests,re import time import sys import getopt import base64 guizhe='' s ...

  5. ArcGIS超级工具SPTOOLS-线封闭,点集转面

    一.线封闭 操作视频:https://weibo.com/tv/v/HvyvbAxKh?fid=1034:4375207666991674 将末端不闭合线,自动生成闭合的线,效果如下 原始线:末端不闭 ...

  6. Node.js与VUE安装及环境配置之Windows篇

    Node.js安装及环境配置之Windows篇 https://www.cnblogs.com/zhouyu2017/p/6485265.html Node.js安装及环境配置之Windows篇htt ...

  7. 一、mysql下载与安装

    1.下载 官网:https://www.mysql.com/ 注意,其实我看了好的博文,下载截图五花八门,官网内容是变动的,布局也不一样,所以不要指望标准参照那个博文去找到安装包下载: 不过,你可以不 ...

  8. Python3中_和__的用途和区别

    访问可见性问题 对于上面的代码,有C++.Java.C#等编程经验的程序员可能会问,我们给Student对象绑定的name和age属性到底具有怎样的访问权限(也称为可见性).因为在很多面向对象编程语言 ...

  9. Git Command之Code Review

    原文链接 准备 Step 1. Create a team and add a teammate Step 2. Create a repository with some content 应用 Cl ...

  10. yum命令配置及使用说明和常见问题处理

    一. 重装yum 1. 执行如下命令,卸载yum命令程序 rpm -qa |grep yum |xargs rpm -e --nodeps 2. 依次执行如下命令,下载yum.yum-plugin-f ...