MySQL 案例实战--MySQL 数据库 之 冷备份
MySQL 数据库 之 冷备份
- 前言
- 一、数据库备份类型
- 二、数据库备份的内容
- 三、 MySQL 数据库 之 冷备份
- 1、环境准备
- 2、备份要求
- 3、备份流程
前言
本环境是基于 Centos 7.8 系统构建MySQL-5.7.14
具体构建,请参考 MySQL-5.7.14 环境构建
备份是系统中需要考虑的最重要的事项,虽然他们在系统的整个规划,开发和测试过程中甚至占不到1%,看似不太重要且默默无闻的工作只有到恢复的时候才能真正体现出 其重要性,任何数据的丢失与尝试见的数据down机,都是不可以被接收的。数据库备份也同样重要,接下来我们将介绍MySQL数据库的策略。
一、数据库备份类型
备份的分类
1、热备份、温备份、冷备份 (根据服务器状态)
- 热备份:读、写不受影响;
- 温备份:仅可以执行读操作;
- 冷备份:离线备份;读、写操作均中止;
2、物理备份与逻辑备份 (从对象来分)
- 物理备份:复制数据文件;
- 逻辑备份:将数据导出至文本文件中;
3、完全备份、增量备份、差异备份 (从数据收集来分)
- 完全备份:备份全部数据;
- 增量备份:仅备份上次完全备份或增量备份以后变化的数据;
- 差异备份:仅备份上次完全备份以来变化的数据
备份策略
优劣势对比
逻辑备份的优缺点
1、逻辑备份的优点:
- 在备份速度上两种备份要取决于不同的存储引擎
- 物理备份的还原速度非常快。但是物理备份的最小粒度只能做到表
- 逻辑备份保存的结构通常都是纯ASCII的,所以我们可以使用文本处理工具来处理
- 逻辑备份有非常强的兼容性,而物理备份则对版本要求非常高
- 逻辑备份也对保持数据的安全性有保证
2、逻辑备份的缺点:
- 逻辑备份要对RDBMS产生额外的压力,而裸备份无压力
- 逻辑备份的结果可能要比源文件更大。所以很多人都对备份的内容进行压缩
- 逻辑备份可能会丢失浮点数的精度信息
二、数据库备份的内容
- 数据文件
- 日志文件(比如事务日志,二进制日志)
- 存储过程,存储函数,触发器
- 配置文件(十分重要,各个配置文件都要备份)
- 用于实现数据库备份的脚本,数据库自身清理的Crontab等……
三、 MySQL 数据库 之 冷备份
1、环境准备
两台基于Centos 系统的MySQL-7.5.14 服务器
node01、node02
2、备份要求
要求:将node01的MySQL数据库所有数据备份到node02的数据库服务器上,并能够确保备份数据在node02服务器上的可用性
3、备份流程
查看node01节点服务器数据库信息
mysql> use db1;
Database changed
mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| fruits |
+---------------+
1 row in set (0.00 sec)mysql> select * from fruits;
+------+------+------------+---------+
| f_id | s_id | f_name | f_price |
+------+------+------------+---------+
| a1 | 101 | apple | 5.20 |
| a2 | 103 | apricot | 2.20 |
| b1 | 101 | blackberry | 10.20 |
| b2 | 104 | berry | 7.60 |
| b5 | 107 | xxxx | 3.60 |
| bs1 | 102 | orange | 11.20 |
| bs2 | 105 | melon | 8.20 |
| c0 | 101 | cherry | 3.20 |
| l2 | 104 | lemon | 6.40 |
| m1 | 106 | mango | 15.60 |
| m2 | 105 | xbabay | 2.60 |
| m3 | 105 | xxtt | 11.60 |
| o2 | 103 | coconut | 9.20 |
| t1 | 102 | banana | 10.30 |
| t2 | 102 | grape | 5.30 |
| t4 | 107 | xbababa | 3.60 |
+------+------+------------+---------+
16 rows in set (0.00 sec)mysql>
node01节点,开始打包数据库备份文件
# 停止mysqld服务
[root@mysql-yum ~]# systemctl stop mysqld
# 打包文件
[root@mysql-yum ~]# cd /var/lib/mysql
[root@mysql-yum mysql]# ll
total 110660
-rw-r-----. 1 mysql mysql 56 Jan 14 13:38 auto.cnf
-rw-------. 1 mysql mysql 1679 Jan 14 13:38 ca-key.pem
-rw-r--r--. 1 mysql mysql 1074 Jan 14 13:38 ca.pem
-rw-r--r--. 1 mysql mysql 1078 Jan 14 13:38 client-cert.pem
-rw-------. 1 mysql mysql 1679 Jan 14 13:38 client-key.pem
drwxr-x--- 2 mysql mysql 56 Jan 16 17:30 db1
-rw-r----- 1 mysql mysql 309 Jan 16 17:34 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 Jan 16 17:34 ibdata1
-rw-r-----. 1 mysql mysql 50331648 Jan 16 17:34 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 Jan 14 13:38 ib_logfile1
drwxr-x---. 2 mysql mysql 4096 Jan 14 13:38 mysql
drwxr-x---. 2 mysql mysql 8192 Jan 14 13:38 performance_schema
-rw-------. 1 mysql mysql 1679 Jan 14 13:38 private_key.pem
-rw-r--r--. 1 mysql mysql 451 Jan 14 13:38 public_key.pem
-rw-r--r--. 1 mysql mysql 1078 Jan 14 13:38 server-cert.pem
-rw-------. 1 mysql mysql 1675 Jan 14 13:38 server-key.pem
drwxr-x---. 2 mysql mysql 8192 Jan 14 13:38 sys
[root@mysql-yum mysql]# tar czf /opt/mysql_datafile.bak.tar.gz *
[root@mysql-yum mysql]# ll /opt/
total 1348
-rw-r--r-- 1 root root 1378773 Jan 16 17:42 mysql_datafile.bak.tar.gz
# 拷贝文件
[root@mysql-yum mysql]# scp /opt/mysql_datafile.bak.tar.gz 192.168.5.12:/opt/
node02节点开始,回复数据
# 查看备份数据包
[root@mysql-rpm ~]# ll /opt/mysql_datafile.bak.tar.gz
-rw-r--r-- 1 root root 1378773 Jan 16 17:43 /opt/mysql_datafile.bak.tar.gz
# 停止mysqld服务
[root@mysql-rpm ~]# systemctl stop mysqld
# 删除原有的mysqld服务数据存放目录的文件
[root@mysql-rpm ~]# cd /var/lib/mysql
[root@mysql-rpm mysql]# rm -rf ./*
# 解压备份数据到mysqld服务数据存放目录
[root@mysql-rpm mysql]# tar xf /opt/mysql_datafile.bak.tar.gz -C /var/lib/mysql
[root@mysql-rpm mysql]# ll
total 110660
-rw-r----- 1 mysql mysql 56 Jan 14 13:38 auto.cnf
-rw------- 1 mysql mysql 1679 Jan 14 13:38 ca-key.pem
-rw-r--r-- 1 mysql mysql 1074 Jan 14 13:38 ca.pem
-rw-r--r-- 1 mysql mysql 1078 Jan 14 13:38 client-cert.pem
-rw------- 1 mysql mysql 1679 Jan 14 13:38 client-key.pem
drwxr-x--- 2 mysql mysql 56 Jan 16 17:30 db1
-rw-r----- 1 mysql mysql 309 Jan 16 17:34 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 Jan 16 17:34 ibdata1
-rw-r----- 1 mysql mysql 50331648 Jan 16 17:34 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Jan 14 13:38 ib_logfile1
drwxr-x--- 2 mysql mysql 4096 Jan 14 13:38 mysql
drwxr-x--- 2 mysql mysql 8192 Jan 14 13:38 performance_schema
-rw------- 1 mysql mysql 1679 Jan 14 13:38 private_key.pem
-rw-r--r-- 1 mysql mysql 451 Jan 14 13:38 public_key.pem
-rw-r--r-- 1 mysql mysql 1078 Jan 14 13:38 server-cert.pem
-rw------- 1 mysql mysql 1675 Jan 14 13:38 server-key.pem
drwxr-x--- 2 mysql mysql 8192 Jan 14 13:38 sys
# 启动mysqld服务
[root@mysql-rpm mysql]# systemctl start mysqld
[root@mysql-rpm mysql]# netstat -lnutp | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 2135/mysqld
node02节点验证备份效果
[root@mysql-rpm mysql]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.14 MySQL Community Server (GPL)Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)mysql> use db1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| fruits |
+---------------+
1 row in set (0.00 sec)mysql> select * from fruits;
+------+------+------------+---------+
| f_id | s_id | f_name | f_price |
+------+------+------------+---------+
| a1 | 101 | apple | 5.20 |
| a2 | 103 | apricot | 2.20 |
| b1 | 101 | blackberry | 10.20 |
| b2 | 104 | berry | 7.60 |
| b5 | 107 | xxxx | 3.60 |
| bs1 | 102 | orange | 11.20 |
| bs2 | 105 | melon | 8.20 |
| c0 | 101 | cherry | 3.20 |
| l2 | 104 | lemon | 6.40 |
| m1 | 106 | mango | 15.60 |
| m2 | 105 | xbabay | 2.60 |
| m3 | 105 | xxtt | 11.60 |
| o2 | 103 | coconut | 9.20 |
| t1 | 102 | banana | 10.30 |
| t2 | 102 | grape | 5.30 |
| t4 | 107 | xbababa | 3.60 |
+------+------+------------+---------+
16 rows in set (0.00 sec)mysql>
备份数据完成!!!
MySQL 案例实战--MySQL 数据库 之 冷备份相关推荐
- MySQL 案例实战--MySQL 数据库 之 温备份 热备份
MySQL 数据库 之 温备份 & 热备份 前言 一.完全备份方案 二.增量备份方案 三.GTID 备份 四.mydumper 备份 五.LVM 快照备份 六.xtrabackup 备份 1. ...
- MySQL 案例实战--MySQL 基于Mycat实现读写分离
MySQL 基于Mycat实现读写分离 前言 一.什么是读写分离? 二.MySQL 读写分离解决方案 三.MySQL 基于Mycat实现读写分离 四.Mycat-web 管理部署 前言 本环境是基于 ...
- MySQL 案例实战--MySQL数据库 存储过程 存储函数
MySQL数据库 存储过程 & 存储函数 前言 一.什么是存储过程 & 存储函数 二.存储过程的创建和调用 三.存储函数的创建和调用 前言 本环境是基于 Centos 7.8 系统构建 ...
- MySQL 案例实战--MySQL数据库 单表查询 一
前言 本环境是基于 Centos 7.8 系统构建MySQL-5.7.14 具体构建,请参考 MySQL-5.7.14 环境构建 素材准备: DROP TABLE IF EXISTS `course` ...
- mysql 登录默认实例_【MySQL案例】mysql本机登录-S失灵_mysql
[mysql案例]mysql本机登录-S失效 1.1.1. mysql本机登录mysql时,-S参数失效 [环境描述] mysql5.5.14 [问题描述] 配置了多实例 实例1 实例2 datadi ...
- 徐无忌MySQL笔记:案例实战:如何实现MySQL数据库的读写分离?
徐无忌MySQL笔记:案例实战:如何实现MySQL数据库的读写分离? 完成:第一遍 1.理想的主从架构实现的效果是怎样的? 主库负责所有读写操作,从库只实现对主库备份功能,这样的主从架构性价比是很低的 ...
- kfaka storm写入mysql_基于Storm+Kafka+Zookeeper锁+Memcached+mysql架构全方位系统Storm项目案例实战...
基于Storm+Kafka+Zookeeper锁+Memcached+mysql架构全方位系统Storm项目案例实战 适应人群 有一定Storm基础.Kafka基础.Memcached基础.Zooke ...
- 大数据之数据库mysql优化实战(一)
2019独角兽企业重金招聘Python工程师标准>>> :facepunch: 大数据之数据库mysql优化实战(一) 首先你要有数据,不然怎么测试,几百条就算了,还没跑就完了. 本 ...
- mysql核心数据库_从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程...
从MySQL基础进军MySQL核心架构 178集MySQL数据库核心基础视频教程 MySQL基础案例教程 课程目录 (1) 01MySQL基础_课程引入.avi (2) 02MySQL基础_为什么学习 ...
最新文章
- 神器来啦!一键可视化,终于能看懂神经网络到底在干啥了
- 开涛spring3(2.1) - IoC基础
- oracle索引块和数据块,Oracle中,如何确定热快是数据块还是索引快?
- python散点图拟合曲线-使用python通过点拟合曲线
- TweenMax动画库学习(三)
- evaluate函数使用无效_在Matlab中使用tensorflow (2)
- QT的Q3DScatter类的使用
- 卸载pytorch_Pytorch中的hook的使用详解
- 白领必看的十种职场致命毒药
- 计算与推断思维 三、Python 编程
- java成神之——集合框架之ArrayList,Lists,Sets
- JS正则表达式--正则量词与元字符
- Python题目辅导-题目及其题目
- 男士不得不看的21种经典拍照姿势
- [android] 手机卫士黑名单功能(ListView结合SQLite增删改)
- RALL 与 智能指针
- STC89C52单片机定时器及中断系统的介绍以及代码示例
- 东方财富股吧标题爬取分析
- fabric.Canvas
- 微软sql服务器如何安装,Microsoft SQL Server 2012 数据库安装图解教程
热门文章
- iOS Xcode如何添加模拟器
- 停车场停车系统软件测试报告,智慧停车场系统各大功能系统的详解
- LeetCode刷题记录——买卖股票的最佳时机
- 卡丽来相片卡拉OK VCD制作系统破解版(大型)
- 盘点IT业年度十大关键词:2009年在偷菜中溜走
- 计算机工程毕业论文任务书,计算机工程毕业设计论文任务书开题报告模板.doc...
- 体验windows server2008服务器操作系统
- Dock 栏美化壁纸,深+浅模式 ! 支持全部机型~,太可爱了!
- 解决MacOS Dock栏不能自动隐藏
- win ollvm环境_域环境加权推送安装软件