mysqldump原理及实战
使用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
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原理及实战的更多相关文章
- jQuery源码:从原理到实战
jQuery源码:从原理到实战 jQuery选择器对象 $(".my-class"); document.querySelectorAll*".my-class" ...
- Keepalived原理与实战精讲--VRRP协议
. 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简 ...
- Spark MLlib特征处理:OneHotEncoder OneHot编码 ---原理及实战
http://m.blog.csdn.net/wangpei1949/article/details/53140372 Spark MLlib特征处理:OneHotEncoder OneHot编码 - ...
- Istio 流量治理功能原理与实战
一.负载均衡算法原理与实战 负载均衡算法(load balancing algorithm),定义了几种基本的流量分发方式,在Istio中共有4种标准负载均衡算法. •Round_Robin: 轮询算 ...
- Oracle特殊恢复原理与实战(DSI系列)
1.深入浅出Oracle(DSI系列Ⅰ) 2.Oracle特殊恢复原理与实战(DSI系列Ⅱ) 3.Oracle SQL Tuning(DSI系列Ⅲ)即将开设 4.Oracle DB Performan ...
- Java并发编程原理与实战五:创建线程的多种方式
一.继承Thread类 public class Demo1 extends Thread { public Demo1(String name) { super(name); } @Override ...
- Zookeeper原理和实战开发经典视频教程 百度云网盘下载
Zookeeper原理和实战开发 经典视频教程 百度云网盘下载 资源下载地址:http://pan.baidu.com/s/1o7ZjPeM 密码:r5yf
- Identity Server 4 原理和实战(完结)_汇总贴
视频地址:https://www.bilibili.com/video/av42364337 语雀地址:https://www.yuque.com/yuejiangliu/dotnet/solenov ...
- DNS tunnel的原理及实战
DNS tunnel的原理及实战 摘自:http://netsec.ccert.edu.cn/zhengming/2011/11/01/%E8%BD%AC%E8%BD%BD%EF%BC%9Adns-t ...
随机推荐
- Ubuntu 14.04 下安装redis后运行redis-cli 报出redis Connection refused错误【已解决】
在运行redis-cli运行后爆出错误,看了网上的都没有用例如:改ip,注释bind 127.0.0.1,或者是先运行./redis-server redis.conf,都没有用 只需要: 找到red ...
- java spring boot- freemarker 配置 yml使用流程
1.pom.xml 加入maven 依赖 <!-- 引入 freemarker 模板依赖 --><dependency> <groupId>org.springf ...
- CRT小键盘输入乱码
Options --> Session Options --> Terminal --> Emulation --> Modes 去选中 Enable keypad mode ...
- FOFA 批量采集url 图形化界面编写
这是脚本 # coding:utf- import requests,re import time import sys import getopt import base64 guizhe='' s ...
- ArcGIS超级工具SPTOOLS-线封闭,点集转面
一.线封闭 操作视频:https://weibo.com/tv/v/HvyvbAxKh?fid=1034:4375207666991674 将末端不闭合线,自动生成闭合的线,效果如下 原始线:末端不闭 ...
- Node.js与VUE安装及环境配置之Windows篇
Node.js安装及环境配置之Windows篇 https://www.cnblogs.com/zhouyu2017/p/6485265.html Node.js安装及环境配置之Windows篇htt ...
- 一、mysql下载与安装
1.下载 官网:https://www.mysql.com/ 注意,其实我看了好的博文,下载截图五花八门,官网内容是变动的,布局也不一样,所以不要指望标准参照那个博文去找到安装包下载: 不过,你可以不 ...
- Python3中_和__的用途和区别
访问可见性问题 对于上面的代码,有C++.Java.C#等编程经验的程序员可能会问,我们给Student对象绑定的name和age属性到底具有怎样的访问权限(也称为可见性).因为在很多面向对象编程语言 ...
- Git Command之Code Review
原文链接 准备 Step 1. Create a team and add a teammate Step 2. Create a repository with some content 应用 Cl ...
- yum命令配置及使用说明和常见问题处理
一. 重装yum 1. 执行如下命令,卸载yum命令程序 rpm -qa |grep yum |xargs rpm -e --nodeps 2. 依次执行如下命令,下载yum.yum-plugin-f ...