MySQL系列——MySQL备份和恢复

MYSQL的备份和还原
备份 :副本
RAID1,RAID10 :保证硬件损坏而不会业务中止;
备份和还原 :可以保证因逻辑错误引起的数据丢失
备份类型 :
热备份 :读写不受影响
温备份 :仅可以执行读操作
冷备份 :离线备份,读、写操作均中止

物理备份和逻辑备份
物理备份 :复制数据文件
逻辑备份 :将数据导出至文本文件中

完全备份、增量备份和差异备份
备份什么:
数据、配置文件、二进制日志、事务日志
主从服务器架构

物理备份 :速度快
逻辑备份 :速度慢、丢失浮点数精度:方便使用文本处理工具直接对其处理,可移植能力强;

备份策略 :完全+增量 、 完全+差异
MYSQL备份工具 :
mysqldump : 逻辑备份工具、MyISAM(温)、InnoDB(热备份)
mysqlhotcopy : 物理备份工具、温备份
文件系统工具 :
cp :冷备
lv : 逻辑卷的快照功能,几乎热备;
FLUSH TABLES;
LOCK TABLES
创建快照,释放锁,而后复制数据
第三组工具 :
ibbackup : 商业工具
xtrabackup : 开源工具
MYSQL备份工具比较列表

mysqldump : 逻辑备份
mysqldump(完全备份)+二进制日志
完全+增量
备份单个数据库,或库中单个表
mysqldump DB_NAME [tb1] [tb2]
mysqldump --master-data={0|1|2}
0 : 不记录二进制日志文件及路位置
1 :以CHNAGE MASTER TO的方式记录位置,可用于恢复后直接启动从服务器
2 :以CHNAGE MASTER TO的方式记录位置,但默认为被注释;
--lock-all-tables : 锁定所有表
--flush-logs : 执行日志flush;
如果指定库中的表类型均为InnoDB,可使用--single-transaction启动热备;
备份多个库 :
--all-databases : 备份所有库
--datebases DB_NAME,DB_NAME,... 备份指定库
--events 事件
--routines 存储过程、存储函数
--triggers 触发器

FLUSH TABLES WITH READ LOCK; 刷新表并使用读锁

备份策略 :周完全+每日增量
完全备份:mysqldump
增量备份:备份二进制日志文件(flush logs)
二进制日志 :
set sql_log_bin=1 1=ON 0=OFF

原文地址:https://blog.51cto.com/14087650/2426233

时间: 2024-10-02 05:46:46

MySQL系列——MySQL备份和恢复的相关文章

MySQL数据库-完全备份及恢复

MySQL数据库-完全备份及恢复 数据库备份的分类 物理角度: 冷备份:也称脱机备份,特点:关掉数据库再备份 热备份:也称联机备份,特点:开启数据库再备份 温备份:数据库只有可读权限的状态下备份 逻辑角度: 对数据库的对象的备份,例如数据表,及数据表中的一些sql语句等 备份策略角度: 完全备份:每次对数据进行整体的备份 差异备份:在第一次完整备份a数据后,以后的每次的备份是a+b,b就是针对于a数据发生变化的数据,称之为'差异数据'.缺点:b的数据内存会越来越大b+=b,导致数据恢复缓慢.恢复

mysql大数据备份及恢复(一)

Mysql大数据备份和恢复一 MySQL备份一般采取全库备份.日志备份:MySQL出现故障后可以使用全备份和日志备份将数据恢复到最后一个二进制日志备份前的任意位置或时间:mysql的二进制日志记录着该数据库的所有增删改的操作日志还包括了这些操作的执行时间 Binlog的用途:主从同步.恢复数据库 使用binlog工具备份 查看binlog是否开启,因为默认是关闭的 从上图可知off为关闭状态,一般logbin为只读,在/etc/my.cnf下开启 重启数据库 重启后在目录下查看是否生成bin日志

从MySQL全库备份中恢复某个库和某张表【转】

从MySQL全库备份中恢复某个库和某张表 一.全库备份-A [[email protected] backup]#mysqldump -uroot -p123456 --default-character-set=utf8 --single-transaction --extended-insert=false --hex-blob --master-data=2 --log-error=/tmp/test.err --routines --triggers --events --quick -

【windows】环境下mysql的数据备份以及恢复

[windows]环境下mysql的数据备份以及恢复 无论是刚刚入行的'猿友'还是入行很久的'老猿',我相信都会遇到过因为各种原因(很多情况下是自己误删了数据库)的操作.drop databases xxxxx 而误删了线上项目的数据库是一件很恐怖的事情,那么如果大家遇到这种情况怎么办呢?首先不要着急(我感觉说了也白说-,-),先看一看自己的mysql是否开启了binlog日志功能,如果没有???game over !!! 关于查看binlog日志有没有开启,请到自己的Mysql文件下找my.i

Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁

Python进阶----pymysql的安装与使用,mysql数据库的备份和恢复,mysql的事务和锁 一丶安装 pip install PyMySQL 二丶pymysql连接数据库 ### 语法: import pymysql # 导入py模块 conn= pymysql.connect("数据库ip","用户","密码","数据库" ) # 打开数据库连接 cursor.execute("SELECT VERSI

MySQL系列 - MySQL源码安装配置

二.MySQL系列 - MySQL源码安装配置(附5.7等最新版本)1.依赖环境准备2.开始安装2.1.下载MySQL2.2.解压2.3.赋权限2.4.修改配置文件2.5.启动MySQL3.MySQL 5.7源码安装不同之处 二.MySQL系列 - MySQL源码安装配置(附5.7等最新版本) 1.依赖环境准备 make安装 make编译器下载地址:http://www.gnu.org/software/make/ # tar zxvf make-3.82.tar.gz # cd make-3.

MySQL优化之——备份和恢复

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46766919 备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件,该文件中实际上包含了多个CREATE 和INSERT语句,使用这些语句可以重新创建表和插入数据 MYSQLDUMP的语法和选项 mysqldump -u user -p pwd -h host

MySQL中的备份和恢复

MySQL备份 MySQL中的逻辑备份是将数据库中的数据备份为一个文本文件,备份的文件可以被查看和编辑.在MySQL中,使用mysaldump工具来完成备份.有以下3种来调用mysqldump: 备份指定的数据库,或者此数据库中某些表. shell>mysqldump [option] db_name [tables] 备份指定的一个或多个数据库 shell>mysqldump [option] --database DB1 [DB2 DB3...] 备份所有数据库 shell>mysq

mysql使用mysqldump备份、恢复

  mysqldump是mysql用于转存储数据库的实用程序.它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等 mysqldump 语法 :      默认配置读取路径:  /etc/mysql/my.cnf     /etc/my.cnf    ~/.my.cnf            Usage: mysqldump [OPTIONS] database [tables]           OR     mysqldump [OPTI

我的MYSQL学习心得 备份和恢复(详细)

备份 逻辑备份方法 使用MYSQLDUMP命令备份 MYSQLDUMP是MYSQL提供的一个非常有用的数据库备份工具.mysqldump命令执行时将数据库备份成一个文本文件, 该文件中实际上包含了多个CREATE 和INSERT语句,使用这些语句可以重新创建表和插入数据 MYSQLDUMP的语法和选项 mysqldump -u user -p pwd -h host dbname[tbname,[tbname...]]>filename.sql 选项/Option 作用/Action Perfo