数据库如何热备份

2023-11-20

1.1数据库冷备份

概念:
在固定的周期内,人为的将数据库中的数据进行备份.一般一式三份.
缺点:
1.可能会造成数据丢失.
2.如果数据量很多,则可能会导致备份时间很长.并且备份不能正常完成.
说明:虽然冷备份有诸多的缺点,.但是最好进行冷备份.因为是恢复数据的最后的手段.

1.2数据库热备份

在这里插入图片描述
步骤:
1.当主库的数据发生变化时,会将更新的数据写入二进制日志文件中.
2.从库中的IO线程会试试的监听主库的二进制日志文件.如果文件发生了变化,则获取主库二进制文件中更新的记录.之后写入从库的中继日志中.
3.当中继日志中有数据时,从库会通过sql线程读取中继日志中的信息,之后将数据进行同步.
4.当上述的操作完成后,主从同步完成,等待下一次同步.
特点:
数据库进行主从备份时,一台主机理论上可以配置N台从机. 一般n为2-3.

1.3实现数据库主从搭建
1.2.1修改主库二进制文件配置

1.修改文件: vim /etc/my.cnf
在这里插入图片描述
2.重启mysql数据库
在这里插入图片描述
3.检查二进制日志文件是否正确
在这里插入图片描述

1.2.2修改从库二进制文件配置

1.修改文件: vim /etc/my.cnf
在这里插入图片描述
2.重启mysql数据库
在这里插入图片描述
3.检查二进制日志文件是否正确
在这里插入图片描述
如果启动不了 需要杀进程
ps -ef |grep mysql 查询mysql的服务项
Kill -9 1956 2133 //表示强制删除 1956 2133表示端口号

1.2.3实现数据库主从挂载

1.检查主库的状态
在这里插入图片描述
主表锁定操作
FLUSH TABLE WITH READ LOCK;

2.从库挂载主库

挂载指令:
change master to 主机IP 主机端口号 用户名 密码
二进制日志文件名称 文件位置

CHANGE MASTER TO MASTER_HOST=“192.168.138.128”,
MASTER_PORT=3306,
MASTER_USER=“root”,
MASTER_PASSWORD=“root”,
MASTER_LOG_FILE=“mysql-bin.000001”,
MASTER_LOG_POS=120;

#开启主从服务
START SLAVE;

#检查主从状态
SHOW SLAVE STATUS;

3.检查从库状态
在这里插入图片描述
主表解除锁定操作
UNLOCK TABLES;

#如果主从同步搭建完成,测试

#如果程序报错 没有2个yes 则根据日志修改
STOP SLAVE;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据库如何热备份 的相关文章

  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • PHP,文本从数据库中回显,没有换行,全部一体

    我的数据库中有一个长文本 从 php mayadmin 来看它看起来很好 但是当我将它回显到页面时 它会丢失所有格式 即没有新行 全部都在一个块中 有任何想法吗 Thanks 可能是因为换行符是 n 并且 html 想要 br 所以使用nl
  • 在 Laravel 中按数据透视表 create_at 排序

    在我的数据库中 我有以下表格 courses id 名称 创建时间 更新时间 students id 名称 创建时间 更新时间 课程 学生 id course id student id created at updated at 我正在尝
  • 何时使用 pthread 条件变量?

    线程问题 看来 只有在其他线程调用 pthread cond notify 之前调用 pthread cond wait 时 条件变量才起作用 如果在等待之前发生通知 那么等待将被卡住 我的问题是 什么时候应该使用条件变量 调度程序可以抢占
  • bluetoothctl 到 hcitool 等效命令

    在 Linux 中 我曾经使用 hidd connect mmac 来连接 BT 设备 但自 Bluez5 以来 这种情况已经消失了 我可以使用 bluetoothctl 手动建立连接 但我需要从我的应用程序使用这些命令 并且使用 blue
  • 为什么我收到“无法进行二进制日志记录”的信息。在我的 MySQL 服务器上?

    当我今天启动 MySQL 服务器并尝试使用以下命令进行一些更改时用于 MySQL 的 Toad http www quest com toad for mysql 我收到此消息 MySQL 数据库错误 无法进行二进制日志记录 消息 交易级别
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 如何重命名 MySQL 数据库(更改架构名称)?

    如何快速重命名 MySQL 数据库 更改其架构名称 通常我只是转储数据库并使用新名称重新导入它 对于非常大的数据库来说 这不是一个选项 显然RENAME DATABASE SCHEMA db name TO new db name 做了坏事
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 外键和索引

    我有 2 张桌子 products and 类别 每个类别有很多产品 一个产品可以属于多个类别 products product id int primary auto increment name unique etc 类别 catego
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • SQL UPDATE 语句根据另一个现有行更新列

    基本上我有一个与下表具有相似格式的表格 我想做的是根据这个逻辑更新 Col4 如果 Col2 为空 则用 Col3 更新 Col4 如果 Col2 不为 null 则在 Col1 中查找与 Col2 中的值匹配的值 使用 col3 中的相应
  • 当与“<”或“>”运算符一起使用时,MySQL 不使用 DATE 上的索引吗?

    我正在使用解释来测试这些查询 col 类型是 DATE 这使用索引 explain SELECT events FROM events WHERE events date 2010 06 11 这不 explain SELECT event
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • 当复选框条件更改时,如何使用ajax更新mysql数据库?

    我有一个在客户端按行显示的文章表 每篇文章都有一个唯一的 ID 并包含一个复选框以指示该文章是否被选中为收藏夹 如果它是最喜欢的 则该复选框已被选中 如果没有 则未选中 现在 如果特定于每一行的复选框条件发生变化 我需要 js 或 jque

随机推荐

  • QT窗体间传值总结

    在写程序时 难免会碰到多窗体之间进行传值的问题 依照自己的理解 我把多窗体传值的可以使用的方法归纳如下 1 使用QT中的Signal Slot机制进行传值 2 使用全局变量 3 使用public形式的函数接口 4 使用QT中的Event机制
  • pytesseract和PIL库用法是什么?【详细教程】

    Tesseraet是一个命令行工具 安装后只能通过tsseraet命令在Python的外部运行 而不能通过import语句引人使用 为了解决上述问题 Python 提供了支持Tssraec OCR引擎的Python版本的库pytessera
  • 04. 《Lombok 实战 —— @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor》

    文章目录 Lombok 实战 NoArgsConstructor RequiredArgsConstructor AllArgsConstructor 1 NoArgsConstructor 1 1 NoArgsConstructor 实战
  • 夯实C++基础之刷题:链表——3合并两个有序列表

    题目 解题 递归和迭代 我的理解 递归是自己调用自己 迭代是按思路往下走 1 递归 class Solution public ListNode mergeTwoLists ListNode list1 ListNode list2 递归
  • 敏捷开发概述

    一 历史背景 20世纪60年代 软件规模小 已作坊式开发为主 20世纪70年代 硬件快速发展 软件规模和复杂度不同以往 引发软件危机 20世纪80年代 引入瀑布模型 以过程为中心分阶段控制软件开发 20世纪90年代 软件开发过程日益变重 开
  • mysql清缓存、查看连接数及链接时间

    mysql清缓存 查看连接数及链接时间 flush privileges 刷新缓存 SHOW FULL processlist 查看连接数据库的进程id ip 用户名 连接的数据库 连接状态 连接时长等 show variables lik
  • Node.js程序如何建立及使用Model

    建立Model 直接使用Sequelize虽然可以 但是存在一些问题 团队开发时 有人喜欢自己加timestamp var Pet sequelize define pet id type Sequelize STRING 50 prima
  • Unity中loading页加载的实现

    首先创建一个Global cs 使用单例用于存储场景的名字 便于后续脚本的调用 此脚本不必挂载在游戏物体上 using UnityEngine using System Collections public class Global Mon
  • Eclipse项目上有红色的叉或感叹号

    Eclipse中导入的项目没有报错 甚至都能正常运行 但就是会有一个红色的 或 对于一个有强迫症的我 忍不了 下面怎么解决 我提供一个平时解决的方法 首先 这个报错是IDE工具的报错 先找到报错描述 window gt show view
  • Go语言学习路线

    gogogo git 地址 Go 学习 学习路线 2 基础知识 3 开发工具安装地址 下载 Go基础知识 链接为gitee地址 放心查看 基础结构 learn1 go 基础语法 learn2 go 数据类型 learn3 go 变量 lea
  • mkfs.xfs: cannot open /dev/sdb1: Device or resource busy 设备或资源忙

    今天在centos下用xfs格式化磁盘出现如下错误 mkfs xfs cannot open dev sdb1 Device or resource busy 设备或资源忙 时出现 重启服务器后再格式化也一样 也就是重启服务器没什么用 用l
  • QT之一个UI里边多界面切换

    QT之多界面交换 环境 VS2019 QT tools 从网上查看了许多大神的帖子 先将多界面切换的方法总结如下 1 可以通过QT Designer中添加Containers控件里的Stacked Widget实现同一个UI里的页面切换 可
  • multisim仿真 74LS147D芯片

    multisim仿真 74LS147D芯片
  • el-input-number默认值为空怎么设置

    el input number 没有值的情况下 默认值为0 一般没有值的情况下默认值为空 需要将默认值 undefined
  • 【PDF】PDF无法注释的一种解决方案

    PDF无法注释 需要检查 1 权限问题 2 文档规范问题 PDF A 拓展阅读 浏览器打开PDF调整亮度和颜色的小技巧 处理pdf 文档的相关功能包总结 1 pdf文档不能注释 下载的一篇pdf文档在阅读时不能注释 高亮和打字机等选项都是灰
  • java通过MultipartFile进行文件、图片上传和下载,以及文件流

    java通过MultipartFile进行文件 图片上传和下载 以及文件流 package com fh controller import com fh util UuidUtil import org apache commons io
  • 机组logisim P0课下

    首先是记录猪脚强调的注意事项 输入信号一般是通过MUX 多路选择器来实现对输出结果的控制 刚连接好电路时或者连接电路中 可能有一些电路莫名其妙是蓝色 这时关闭logisim后再次打开就好了 Comparator器件默认是有符号的 要调成un
  • git commit提交之后,push 失败

    情况 在git commit m 备注 之后 git push 出现错误 出现的错误是 我提交的代码格式不满足要求 原因是 因为在一些公司里面 有提交代码的一个格式 就比如 m后面的备注信息 是要求有一定格式的 但是我第一遍的格式是写错了
  • 灰度图像的彩色复原方法 ——以人脸着色为例

    灰度图像的彩色复原方法 以人脸着色为例 代码文件下载地址 摘要 灰度图像彩色复原在图像修复领域有广泛的应用 由于其涉及从低纬度空间向高纬度空间的映射 故而修复效果存在差异 本文以人脸为例研究灰度图像的彩色复原方法 在主流灰度图像彩色修复算法
  • 数据库如何热备份

    1 1数据库冷备份 概念 在固定的周期内 人为的将数据库中的数据进行备份 一般一式三份 缺点 1 可能会造成数据丢失 2 如果数据量很多 则可能会导致备份时间很长 并且备份不能正常完成 说明 虽然冷备份有诸多的缺点 但是最好进行冷备份 因为