MySQL数据库完全备份与增量备份详解

MySQL数据库完全备份与增量备份详解 目录 定义 完全备份与恢复演示 定义 完全备份就是将数据库中的数据及所有对象全部备份. 由于 MySQL 服务器中的数据文件是基于磁盘的文本文件,所以完全备
目录
  • 定义
  • 完全备份与恢复演示

定义

完全备份就是将数据库中的数据及所有对象全部备份。

由于 MySQL 服务器中的数据文件是基于磁盘的文本文件,所以完全备份就是复制数据库文件,是最简单也是最快速的方式。

但 MySQL 服务器的数据文件在服务器运行期间,总是处于打开状态,为实现真正的完全备份,需要先停止 MySQL 数据库服务器。

为了保障数据的完整性,在停止 MySQL 服务器之前,需要先执行 flush tables 语句将所有数据写入到数据文件中。对于该方法同学们只需了解,因为将生产环境下的数据库停下来做备份是不可取的。

使用 mysqldump 命令实现对表、数据库、数据库系统进行备份:

mysqldump [-h主机名] –u用户名 –p密码 --lock-all-tables --database [tables] > 文件名

-h 主机名,可省略,表示本地服务器,--lock-all-tables 对要备份的数据库的所有表施加读锁(在这个过程中,数据库严格处于 read only 状态),--database 后面可以加上需要备份的表,没有指定表名,则表示备份整个数据库。

完全备份与恢复演示

准备一张 student 表,将该表建在 world 数据库中。

建表:

CREATE DATABASE world;
USE world;
CREATE TABLE student(
    stuId INT(10) NOT NULL,
    stuName VARCHAR(10) NOT NULL,
    stuAge INT(10) NOT NULL,
    PRIMARY KEY(stuId)
    );

插入数据:

INSERT INTO student(stuId, stuName, stuAge) VALUES(1, 'zhangsan', 18), (2, 'lisi', 19),(3, 'wangwu', 18);

使用 flush tables; 语句将所有数据写入到数据文件中:

FLUSH TABLES;

退出 mysql 环境,使用 mysqldump 命令对数据库 world 进行完全备份:

mysqldump -u root -p --lock-all-tables --databases world > /tmp/world.sql

进入 /tmp 目录下,查看备份文件:

cd /tmp
ls

现在,我们对 world 这个库已经做了完全备份,不怕其数据丢失。

模拟 world 数据库中的 student 表丢失:

DROP TABLE student;

确认表被删除

SHOW TABLES;

使用 mysql 命令恢复数据库:

mysql -uroot -p < /tmp/world.sql

进入 mysql 环境,查看恢复结果:

SHOW TABLES;

输出结果:

验证表中数据:

SELECT * FROM student;

增量备份是对上次完全备份或增量备份以来改变了的数据进行备份,依赖二进制日志文件,需要开启数据库的 binlog 日志。先对数据库进行一次全量备份,备份同时将 binlog 日志刷新,在这次备份之后的所有操作都会记录在新增的 binlog 日志当中,我们只需要对增加的 binlog 进行备份,就实现了对不断增加内容的数据库的完美备份了。当数据库出现异常的时候,我们可以先恢复最近一次的全量备份,接着将增量备份的文件一个一个按顺序恢复即可实现数据库恢复。

到此这篇关于MySQL数据库完全备份与增量备份详解的文章就介绍到这了,更多相关MySQL数据库备份内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

mysql8.0.30安装配置最详细教程(windows 64位) 目录 一. 官网下载MySQL 1.1-点击DOWNLOADS下拉页面并点击红框内容 1.2-下载后并解压到目标文件夹(一定要记住路径) 二. 2-配置并初始化my.ini文件和创建data文件夹在根目录下创建一个txt文件,名字叫my,文件后缀为
SQL SERVER数据库服务器CPU不能全部利用原因解析 目录 背景 1.现象 2.分析 3.解决 4.其它情况 背景 客户凌晨把HIS数据库迁移到配置更高的新服务器,上午业务高峰时应用非常缓慢,严重影响到业务运行. 1.现象 通过SQL专家云实时可视化界面看到大量的绿
SqlServer数据库远程连接访问设置详情 目录 步骤一:设置sql server数据库 1.登录sql server数据库 2.点击根目录右键,选择属性 3.设置服务器的方面选项 4.设置sql server 配置管理器 步骤二:设置防火墙入站规则 步骤三:华为云服务器安装sql server并设置远程访
MYsql库与表的管理及视图介绍 目录 库的管理 1.库的管理 2.表的管理 3.表的修改 表操作的练习题 视图 视图的作用 应用场景 创建视图的语法 库的管理 1.库的管理 创建.修改.删除 1.库的创建 CREATE DATABASE UF NOT EXISTS books: 2.库的修改 库名一般不修改
一文分析SQL Server中事务使用的锁 目录 序 SQL Server使用的锁及锁对象 SQL Server执行Select时使用的锁 SQL Server执行insert时使用的锁 SQL Server执行update时使用的锁 总结 序 本文属于基础知识的回顾,在日常技术交流和日常工作中经常发现有些同事了解关于
MySQL中的用户创建与权限管理 目录 一.用户管理 1.创建MySQL用户 2. 删除MySQL用户 3. 修改MySQL用户 二.权限管理 1. 权限说明 2. 权限保存位置(了解) 3. 给用户授权 4. 查询用户权限 5. with grant option选项 6.revoke回收权限 一.用户管理 在mysql库里有个user表可