【IT专家】MySQL数据库的备份与恢复的三种方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
我们先恢复完整数据,再恢复完整备份后到删除之前的数据,对应二进制日志就
是毫无意义的
mysql set global sql_log_bin=0;
mysql /myback/2012-12-3.19-23.full.sql ##如果有账号密码记的-u -h 哦
打开记录并查看恢复状况
Βιβλιοθήκη Baidu
mysql set global sql_log_bin=1;
mysql show databases;
mysql insert into linux (name) values (‘haddop’), (‘mysql’);
mysql drop table linux;
mysql show master status; ##查看当前所在二进制日志中的位置
+------------------+----------+--------------+------------------+
| File
| Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 9005 |
|
|
+------------------+----------+--------------+------------------+
打开二进制记录并查看恢复状况
mysql set global sql_log_bin=1;
mysql show databases;
2.3 模拟一种场景,我往 linux 表中新添加了数据,然后不小心将这个表删了,我
们要恢复到删除之前的状态,并且新加的数据还存在。
2.3.1 新增数据
mysql use benet;
本文由我司收集整编,推荐下载,如有疑问,请与我司联系
mysql insert into linux (name) values (‘apache’),(‘nginx’),(‘php’); 1.4 创建用于存放备份的目录 mkdir /myback chown -R mysql:mysql /myback 二,用 mysqldump 实现备份 2.1 mysqldump 用来温备,因此我们得为所有库加读锁,并且滚动一下二进制日 志,并记录当前二进制文件位置 mysqldump --all-databases --lock-all-tables --routines --triggers --master-data=2 \ --flush-logs /myback/2012-12-3.19-23.full.sql --all-databases 备份所有库 --lock-all-tables 为所有表加读锁 --routines 存储过程与函数 --triggers 触发器 --master-data=2 在备份文件中记录当前二进制日志的位置,并且为注释的,1 是 不注释掉在主从复制中才有意义 --flush-logs 日志滚动一次 查看有没有备份成功,有没有启用新二进制的日志,查看备份的文件中有没有记 录完整备份后二进制的位置 备份二进制日志 cp /mybinlog/mysql-bin.000001 /myback/2012-12-3.19-23.full.00001 2.2 模拟数据库意外损坏,测试完整恢复 rm -rf /data/mydata/* rm -rf/mybinlog/* 初始化 mysql 并启动 mysql cd /usr/local/mysql ./scripts/mysql_install_db --user=mysql--datadir=/data/mydata
本文由我司收集整编,推荐下载,如有疑问,请与我司联系
MySQL 数据库的备份与恢复的三种方法
2017/07/09 10 MySQL 数据库的备份与恢复的三种方法 1.利用 mysqldump 实现从逻辑角度完全备份 mysql,配合二进制日志备份实现增 量备份 2.利用 lvs 快照从物理角度实现几乎热备的完全备份,配合二进制日志备份实现增 量备份 3.利用 percona 公司的 xrabackup 实现完全热备份与增量热备份 实验环境:RHEL5.8 ,SElinux 关闭,MySQL 是 tar 包初始化安装版本 5.5.28 一.测试环境准备 1.1 mysql 的安装就不说了,见 laoguang.blog.51cto/6013350/1039208 1.2 编缉/etc/myf 把二进制日志存放目录改到其它非数据目录,innodb 每表一文件 建立一目录用于存放二进制日志 mkdir /mybinlog chown mysql:mysql /mybinlog 修改 myf vim /etc/myf log-bin=/mybinlog/mysql-bin ##二进制日志目录及文件名前缀 innodb_file_per_table = 1 ##启用 InnoDB 表每表一文件,默认所有库使用一个 表空间 启动 mysqld service mysqld start 1.3 创建一个测试库与测试表 mysql create database benet; mysql use benet; mysql create table linux (id tinyint auto_increment primary key,name char(10));
本文由我司收集整编,推荐下载,如有疑问,请与我司联系
rm -rf /mybinlog/* ##因为我们不是全新初始化的,可能会有报错的二进制日志,
我们不需要
service mysqld start ##启动时会重新生成新的二进制日志的
恢复到备份状态,备份前先关闭对恢复过程的二进制日志记录,因为记录恢复语句