当前位置: 首页 > news >正文

服务器Linux系统配置mysql数据库主从自动备份

服务器Linux系统配置mysql数据库主从自动备份

当数据内容越来越多的时候,数据库也变得越来越大了。如果不小心误删了,或者被黑主机了,那就什么都没有了。所以数据库的数据怎么能让它不丢失做到万无一失变得尤为重要!

我是艾西,今天跟大家聊聊服务器数据库数据怎么设置自动备份       

备份方式为主从:

即一台服务器作为主服务器,另外一台服务器作为备份服务器,当主服务器故障时,可以通过备份服务器来接管/恢复。

数据库主备备份的原理:

MySQL主服务器从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的

MySQL主服务器从是基于binlog的,主上须开启binlog才能进行主从。 主从过程大致有3个步骤 

1)主服务器将更改操作记录到binlog里 

2)从将主服务器的binlog事件(sql语句)同步到从本机上并记录在relaylog里 

3)从根据relaylog里面的sql语句按顺序执行

主服务器有一个log dump线程,用来和从的I/O线程传递binlog

从上有两个线程,其中I/O线程用来同步主服务器的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句执行一遍

两种情况:一种是做备份用,一种是作为读用

 

如上图,简单的说就是master将数据库的改变写入二进制日志,slave同步这些二进制日志,并根据这些二进制日志进行数据操作。

环境配置:

本次配置的环境为:centos7,使用LNMP1.4安装的Mysql5.5,主服务器为驰网服务器(下面简称主服务器),从服务器为驰网云服务器(下面简称从服务器),现在需要将主服务器中名为img的数据库做主从同步,自动同步到从服务器上。

准备工具:xshell (用于远程服务器)

一、复制数据库

1.首先要将主服务器的数据库复制到从服务器中。

用xshell连接主服务器,导出数据库:

mysqldump -uroot -p img >/root/img.sql---输入数据库密码---

然后ls看下,可以看到一个 img.sql的文件。

2.用xshell连接从服务器,使用sftp命令远程到主服务器(有提示输入yes):

sftp root@主服务器IP地址---输入ssh密码

cd /root

然后ls看下,可以看到主服务器的目录,里面有个img.sql的文件,执行:

get img.sql

这样数据库文件就被复制到从服务器上了。 exit 退出sftp。

3.接下来在从服务器上建立一个名为img的数据库,排序规则设为uft8

mysql -uroot -p---输入数据库密码---

create database img;use img;set names utf8;

source img.sql

这样就成功导入了,exit退出回到linux命令行。

二、主服务器配置

1.切回主服务器,用vim 编辑 /etc下的my.cnf,如图

 

这里主要配置的是server-id和log-bin。server-id用于区分不同主机上的数据库,log-bin是二进制文件的名字(可以随意命名)。同时,为了保证只同步需要的数据库,我们需要加上:

binlog-do-db=img

binlog-ignore-db=mysql

然后 :wq 保存退出,重启mysql:

service mysql restart

 

2.连接数据库进行如下操作:

mysql -uroot -p img---输入数据库密码---

以下为修改数据库连接权限

grant all privileges on . to 'root'@'%' identified by '自定义密码';

flush privileges;

下面为显示bin-log文件名和位置

show master status;

执行完最后一条后我们可以看到:

 

记下红框处的文件名和数字。

三、从服务器配置

1.连接到从服务器,用vim修改/etc下的my.cnf文件,把server-id改为2。

重启mysql服务:

service mysql restart

2.连接数据库,配置从数据库:

mysql -uroot -p---输入数据库密码---

stop slave;

change master to

master_user='root',

master_password='你设置的自定义密码',

master_host='主服务器地址',

master_log_file='mysql-bin.000011',   #记下的上图红框的文件名

master_log_pos=255;   #记下的上图红框的位置

start slave;

show slave status\G   #查看是否安装成功

如图,这两个是YES就成功了

 

四、其他说明

现在只要主服务器上的数据库有变动,从服务器上也会时时变动,达到了数据库异地容灾备份的功能。如果需要多服务器备份,那么可以把多个服务器中my.cnf中的server_id修改为不同,并按以上教程重新配置一遍,每个服务器的数据库可做主服务器也可以做从服务器。

如要同步多个数据库,可在主服务器的my.cnf 中,添加多条 binlog-do-db,指向多个数据库。

总结:

备份数据库是非常重要的,通过定期备份可以避免因为意外删除或者系统故障等情况导致数据的丢失。

MySQL 自带的 mysqldump 和 MySQLdump.exe 可以帮助我们实现基本的备份,使用计划任务可以自动备份我们需要的数据。

如果你需要更加定制化的备份选项,那么使用脚本语言编写备份脚本或者使用第三方工具会更加合适。

无论你选择哪种方法,在备份数据之前,请确保你已经仔细检查过自动备份选项,避免出现不必要的数据丢失问题。

今天的分享就到这里啦,我是驰网艾西希望对需要的小伙伴有帮助我们下期见

相关文章:

服务器Linux系统配置mysql数据库主从自动备份

服务器Linux系统配置mysql数据库主从自动备份 当数据内容越来越多的时候,数据库也变得越来越大了。如果不小心误删了,或者被黑主机了,那就什么都没有了。所以数据库的数据怎么能让它不丢失做到万无一失变得尤为重要! 我是艾西&a…...

Java通过PowerMockito和Mokito进行单元测试

PowerMockito和Mokito的概念 PowerMockito和Mockito都是Java语言中的测试框架,用于进行单元测试和集成测试。它们中的每一个都有不同的功能和应用。 Mockito是一个基于模拟的测试框架。它允许你模拟对象,在测试中隔离被测代码的依赖项。使用Mockito&am…...

数字化技术无限延伸,VR全景点亮智慧生活

随着互联网的发展,我们无时无刻不再享受着互联网给我们带来的便利,数字化生活正在无限延伸,各行各业也开始积极布局智能生活。要说智慧生活哪个方面应用的比较多,那应该就是VR全景了,目前VR全景已经被各个行业广泛应用…...

抖音艺术签名小程序源码/艺术签名设计小程序源码/字节跳动小程序开发

最近很火的抖音艺术签名小程序源码,这是一款艺术签名设计小程序源码,字节跳动小程序开发,之适用于字节系小程序。介意请绕过! 下载地址:https://bbs.csdn.net/topics/616145725...

养号自动化,指纹浏览器和RPA机器人解除烦恼

在这个充满科技魔力的时代,社交媒体已经成为人们生活的一部分,而Facebook更是我们分享欢乐、联络亲友的重要平台。然而,随之而来的是一个棘手的问题:如何保持账号的活跃度,而又不被沉重的养号工作压垮?别担…...

ES6中promise的使用

ES6中promise的使用 本文目录 ES6中promise的使用基础介绍箭头函数function函数状态 原型方法Promise.prototype.then()Promise.prototype.catch() 静态方法Promise.all()Promise.race()Promise.any() 链式回调 基础介绍 官网:https://promisesaplus.com/ window.…...

前端如何走通后端接口

0 写在前面 现在基本都是前后端分离的项目了,那么前端小伙伴如何获取后端小伙伴接口呢? 1 条件 同一WiFi下,让后端小伙伴分享出自己的ip地址: 步骤1:winr调出运行界面 步骤2:cmd调出命令行窗口 步骤3:…...

iOS swift5 扫描二维码

文章目录 1.生成二维码图片2.扫描二维码(含上下扫描动画)2.1 记得在info.plist中添加相机权限描述 1.生成二维码图片 import UIKit import CoreImagefunc generateQRCode(from string: String) -> UIImage? {let data string.data(using: String.En…...

【马拉车算法/动态规划】最长回文字串

最长回文字串 1.问题描述2.中心扩展法(O(N^2))3.动态规划4.Manacher(马拉车算法) 1.问题描述 常用有3种算法:中心扩展法、动态规划和Manacher算法 2.中心扩展法(O(N^2)) 解释: 从中心向外扩展。 分为两种…...

什么是 fail-fast? 什么是fail-safe?

面试回答 在系统设计中,快速失效(fail-fast)系统一种可以立即报告任何可能表明故障的情况的系统。快速失效系统通常设计用于停止正常操作,而不是试图继续可能存在缺陷的过程。 其实,这是一种理念,说白了就是…...

第三届计算机、物联网与控制工程国际学术会议(CITCE 2023)

第三届计算机、物联网与控制工程国际学术会议(CITCE 2023) The 3rd International Conference on Computer, Internet of Things and Control Engineering(CITCE 2023) 第三届计算机、物联网与控制工程国际学术会议(CITCE 2023)…...

react antd 日期选择 WeekPicker MonthPicker 取值转为起止日期

默认WeekPicker 取值,返回的是2023年34周,这样后台用起来不方便。可以转化成指定周的起止日期 const startDate moment(weekData).day(1).format(YYYY-MM-DD); // 周一日期 const endDate moment(weekData).day(7).format(YYYY-MM-DD); // 周日日期同…...

table,设置 数据相同时, 合并列

<el-table :data"tableData" :span-method"objectSpanMethod" border style"width: 100%" show-summary><el-table-column type"index" label"序号" width"100" /><el-table-column prop"dat…...

kotlin如何接收前端传递过来的数据

Kotlin 可以使用 Spring Boot 等框架来接收前端传递过来的数据。 在 Spring Boot 中&#xff0c;你可以使用 RequestBody 注解来将前端传递的 JSON 格式数据转换为相应的 Kotlin 对象。 示例代码&#xff1a; RestController RequestMapping("/api") class UserCo…...

《中国区块链发展报告(2023)》发布 和数集团推动区块链发展

北京区块链技术应用协会与社会科学文献出版社日前在京共同发布《区块链蓝皮书&#xff1a;中国区块链发展报告&#xff08;2023&#xff09;》。蓝皮书归纳梳理了2022年区块链产业发展现状及趋势&#xff0c;并结合行业热点Web3.0、AIGC&#xff0c;探讨我国区块链发展的热点话…...

FreeSWITCH 1.10.10 简单图形化界面3 - 阿里云NAT设置

FreeSWITCH 1.10.10 简单图形化界面3 - 阿里云NAT设置 0、 界面预览1、 查看IP地址2、 修改协议配置3、 开放阿里云安全组4、 设置ACL5、 设置协议中ACL&#xff0c;让PBX匹配内外网6、 重新加载SIP模块7、 查看状态8、 测试一下 0、 界面预览 http://myfs.f3322.net:8020/ 用…...

Android SDK 上手指南||第五章 用户界面设计

第五章 用户界面设计 在本篇教程中我们将为应用程序项目添加布局方案&#xff0c;在这方面XML与Eclipse ADT接口将成为工作中的得力助手——不过在后面两节中还会用到一部分Java开发知识。XML与Java在Android平台的开发工作当中可谓无处不在&#xff0c;如果大家对二者还缺乏基…...

std::list和std::vector删除指定下标的元素

list和vector都可以使用erase函数移除指定下标的元素&#xff0c;注意输入的是迭代器&#xff0c;返回值为指向下一个元素的位置。: iterator erase(iterator position); iterator erase(iterator first,iterator last); 如果下标是index&#xff0c;直接调用即可&#xff1a…...

Apache POI 以及 导出Excel表

一、Apache POI 1、介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI 都是用于操作 Excel 文件。 2、Apache POI 怎么…...

RabbitMQ从原理到实战—基于Golang【万字详解】

文章目录 前言一、MQ是什么&#xff1f;优势劣势 二、MQ的用途1、应用解耦2、异步加速3、削峰填谷4、消息分发 三、RabbitMQ是什么1、AMQP 协议2、RabbitMQ 包含的要素3、RabbitMQ 基础架构 四、实战1、Simple模式(即最简单的收发模式)2、Work Queues 模型3、Publish/Subscribe…...

机器学习——KNN算法

1、&#xff1a;前提知识 KNN算法是机器学习算法中用于分类或者回归的算法&#xff0c;KNN全称为K nearest neighbour&#xff08;又称为K-近邻算法&#xff09; 原理&#xff1a;K-近邻算法采用测量不同特征值之间的距离的方法进行分类。 优点&#xff1a;精度高 缺点&…...

Kali 软件管理测试案例

案例1 &#xff1a;显示目录树 tree ┌──(root㉿kali)-[~] └─# tree --help usage: tree [-acdfghilnpqrstuvxACDFJQNSUX] [-L level [-R]] [-H baseHREF][-T title] [-o filename] [-P pattern] [-I pattern] [--gitignore][--gitfile[]file] [--matchdirs] [--metafirs…...

【分布式】Zookeeper

Java开发者视角下的Zookeeper—— 在什么场景下使用&#xff0c;怎么用 可以参考&#xff1a;https://zhuanlan.zhihu.com/p/62526102 Zookeeper是什么&#xff1f; ZooKeeper 是一个分布式的&#xff0c;开放源码的分布式应用程序协同服务。ZooKeeper 的设计目标是将那些复…...

ScheduleJS Crack,新的“信息列”水平滚动功能

ScheduleJS Crack,新的“信息列”水平滚动功能 增加了对Angular 16的支持 新的“信息列”水平滚动功能。 新的“信息列”固定功能。 添加了输入属性以处理组件模板中的偶数和奇数ScheduleRowPlainBackgroundColor以及CSS变量。 改进了“信息列”和角度甘特组件的类型。 Schedul…...

curl封装

一。由于工作的原因&#xff0c;需要对curl做一些封装&#xff0c;附加上我们的证书&#xff0c;提供给第三个C和jAVA使用。 二。头文件封闭四个函数&#xff0c;get&#xff0c;post&#xff0c;download&#xff0c;upload #ifndef CURLHTTP_H #define CURLHTTP_H#include …...

C语言数据类型和变量

C语言数据类型和变量 数据类型分类内置类型【C语言本身就具有的类型】自定义类型【自己来创建类型】取值范围 变量变量的创建变量创建的语法形式变量的分类全局变量局部变量 栈区、堆区、静态区 算术操作符赋值操作符连续赋值复合赋值符 单目操作符&#xff1a;、--、、-强制类…...

分布式训练 最小化部署docker swarm + docker-compose落地方案

目录 背景&#xff1a; 前提条件&#xff1a; 一、docker环境初始化配置 1. 安装nvidia-docker2 2. 安装docker-compose工具 3. 获取GPU UUID 4. 修改docker runtime为nvidia&#xff0c;指定机器的UUID 二、docker-swarm 环境安装 1. 初始化swarm管理节点 2. 加入工…...

QT学习笔记-开发环境编译Qt MySql数据库驱动与交叉编译Qt MySql数据库驱动

QT学习笔记-开发环境编译Qt MySql数据库驱动与交叉编译Qt MySql数据库驱动 0、背景1、基本环境2、开发环境编译Qt MySql数据库驱动2.1 依赖说明2.2 MySQL驱动编译过程 3、交叉编译Qt MySql数据库驱动3.1 依赖说明3.3.1 如何在交叉编译服务器上找到mysql.h及相关头文件3.3.2 如果…...

QT使用QXlsx实现数据验证与Excel公式操作 QT基础入门【Excel的操作】

准备环境:QT中使用QtXlsx库的三种方法 1、公式操作写单行公式 //右值初始化Format rAlign;rAlign.setHorizontalAlignment(Format::AlignRight);//左值初始化Format lAlign;lAlign.setHorizontalAlignment(Format::AlignLeft);xlsx.write("B3", 40, lAlign);xlsx.wr…...

renrenfast Vue2 打包发布

1、修改 static/config/index-prod.js 文件 // api接口请求地址 window.SITE_CONFIG[baseUrl] http://192.168.1.86:8080/renren-fast; /*** 生产环境*/ ;(function () {window.SITE_CONFIG {};// api接口请求地址window.SITE_CONFIG[baseUrl] http://192.16…...

网站建设博采/小辉seo

注意如下几点&#xff1a;1 其中&#xff0c;21000是impala-shell使用&#xff0c;21050是impala jdbc使用2 在Impala 2.0以后&#xff0c;可以使用两种方式去连接impala&#xff0c; Cloudera JDBC Connector 和 Hive 0.13 JDBC driver&#xff0c;一般推荐使用的是Cloudera J…...

mysql数据库网站/seo博客是什么意思

什么是注册表注册表是用于存储Windows系统用户&#xff0c;硬件和软件的存储配置信息的数据库。虽然注册表是为了配置系统而设计的&#xff0c;但它可以跟踪用户的活动&#xff0c;连接到系统的设备&#xff0c;什么时间什么软件被使用过等都将被记录在案。所有这些都可用于取证…...

wordpress二维码动态图片大小/域名批量注册查询

在Linux系统中&#xff0c;我们查看、监控系统内存使用情况&#xff0c;一般最常用的命令就是free。free命令其实非常简单&#xff0c;参数也非常简单&#xff0c;但是里面很多知识点未必你都掌握了。下面总结一下我所了解的free命令。如有不足&#xff0c;敬请指出。文章很多知…...

二手房网站平台怎么做/品牌关键词优化哪家便宜

本文参考自《剑指offer》一书&#xff0c;代码采用Java语言。题目输入两个链表&#xff0c;找出它们的第一个公共结点。思路蛮力法&#xff1a;遍历第一个链表的结点&#xff0c;每到一个结点&#xff0c;就在第二个链表上遍历每个结点&#xff0c;判断是否相等。时间复杂度为O…...

建设网站需要哪些手续/下载百度网盘app

/***题目:旅店信息管理系统**小组成员&#xff1a;闫若琳 戴雨晨 马渊沐 张子飞 李闯王浩 崔以博 孙浩浩 李春普 温健成*/#include #include #include #include #define MIN 1#define MAX 30#define LEN sizeof(struct Hotel)//用LEN代替结构体的"长度"void regeist(…...

休闲零食网站建设 中企动力/杭州百度seo

为什么要远程连接Linux系统&#xff1f;&#xff1f;在实际的工作场景中&#xff0c;虚拟机界面或物理服务器本地的窗口都是很少能够接触到的&#xff0c;因为服务器装完系统后&#xff0c;都要拉到IDC机房托管&#xff0c;如果是购买了云主机&#xff0c;更碰不到服务器本地显…...