服务器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 可以帮助我们实现基本的备份,使用计划任务可以自动备份我们需要的数据。

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/103285.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全流程R语言Meta分析核心技术应用

Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…

单片机(二)使用位移 让灯亮

一:硬件电路 P2 口: P2.0~ P2.7 是这些 I0 口 LED 阳极接 电源 , P20 口 为低电平 可以让 LED灯 亮 二:软件实现部分 两种 ① 通过循环 来展示从左 到右 #include "reg52.h"#define LED_PORT P2 // 定义单片机的P2端…

把握医学营养趋势 健启星加速突围

随着“健康中国”战略的提出,大健康产业上升到国家战略高度,进入高速发展期。市场数据显示,医学营养市场发展势头迅猛,年平均增速超过30%,中国医学营养市场也迎来高速发展。但目前品牌处于高度分散的状态,市…

解决 go mod tidy 加载模块超时

如果go mod tidy 加载模块超时 解决方法 修改GOPROXY: 查看go环境相关信息: go envgo env -w GOPROXYhttps://goproxy.cn

数据结构(4)

树 无论是符号表还是线性表,随着元素的增多,增删查操作耗时增加,为了提高运算效率,需要树。 树是由N(N>1)个有限结点组成一个具有层次关系的集合。 特征: 1.每个结点有零个或多个结点 2.…

在Linux系统中配置代理服务器来加速软件包管理

作为一名专业程序员,我今天要和大家分享一个在Linux系统中配置代理服务器来加速软件包管理的解决方案。如果你经常在Linux上使用软件包管理器(如apt、yum等),但下载速度缓慢,那么本文将给你带来一些操作方法&#xff0…

ChatGPT帮助提升工作效率和质量:完成时间下降40%,质量评分上升 18%

自ChatGPT去年11月发布以来,人们就开始使用它来协助工作,热心的用户利用它帮助撰写各种内容,从宣传材料到沟通话术再到调研报告。 两名MIT经济学研究生近日在《科学》杂志上发表的一项新研究表明,ChatGPT可能有助于减少员工之…

专题-【十字链表】

有向图的十字链表表示法:

CSS实现一个交互感不错的卡片列表

0、需求分析 横向滚动鼠标悬停时突出显示 默认堆叠展示鼠标悬停时,完整展示当前块适当旋出效果 移动端样式优化、磁吸效果美化滚动条 1、涉及的主要知识块 flex 布局css 简单变换过渡 transform、transition 渐变色函数 linear-gradient… 伪类、伪元素 滚动条、…

CSS 实现页面底部加载中与加载完毕效果

效果图 实现代码 <view class"bottom-load-tip"><view class"line-tip"></view><view class"loading-animation" v-if"!lastPage"></view><view>{{ lastPage ? "没有更多了" : "…

Java不用加减乘除做加法(图文详解)

目录 1.题目描述 2.题解 分析 具体实现 1.题目描述 写一个函数&#xff0c;求两个整数之和&#xff0c;要求在函数体内不得使用、-、*、/四则运算符号。 示例 输入&#xff1a;1 2 输出&#xff1a;3 2.题解 分析 不能使用加减乘除四则运算符&#xff0c;那我们只能考虑…

Rancher-RKE-install 部署k8s集群

一、为什么用Rancher-RKE-install 1.CNCF认证的k8s安装程序。 2.有中文文档。 二、安装步骤 1.下载Rancher-Rke的二进制包-下面是项目的地址 GitHub - rancher/rke: Rancher Kubernetes Engine (RKE), an extremely simple, lightning fast Kubernetes distrib…

opencv 案例实战02-停车场车牌识别SVM模型训练及验证

1. 整个识别的流程图&#xff1a; 2. 车牌定位中分割流程图&#xff1a; 三、车牌识别中字符分割流程图&#xff1a; 1.准备数据集 下载车牌相关字符样本用于训练和测试&#xff0c;本文使用14个汉字样本和34个数字跟字母样本&#xff0c;每个字符样本数为40&#xff0c;样本尺…

新能源汽车技术的最新进展和未来趋势

文章目录 电池技术的进步智能驾驶与自动驾驶技术充电基础设施建设新能源汽车共享和智能交通未来趋势展望结论 &#x1f389;欢迎来到AIGC人工智能专栏~探索新能源汽车技术的最新进展和未来趋势 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客…

Window Server 与 Windows 系统开关机日志查看方法

目录 Windows/Windows Server 查看日志Windows 系统常用的事件 ID 环境&#xff1a;Windows Server 2019 &#xff08;也适用于 Windows 其他系统&#xff09;。 不同版本的 Windows 图标可能有所不同&#xff0c;但是服务器级 Windows Server 与普通桌面级 Windows 还会有些操…

stm32之12.如何使用printf打印输出

主函数增加这些代码即可实现printf打印输出 需要添加头文件 #include "stdio.h" --------------- 源码 struct __FILE { int handle; /* Add whatever you need here */ }; FILE __stdout; FILE __stdin; int fputc(int c, FILE *f) { /* 发送一个字节 */ …

go rpc

运用go标准库写一个rpc例子 服务端 package mainimport ("fmt""net""net/rpc" )//对象 type Hello struct { } //对象方法 func (h *Hello) HelloWorld(name string, resp *string) error {*resp name "你好"return nil }func mai…

现货白银投资什么的?

也许很多投资者听说过现货白银&#xff0c;但并不知道它投资的是什么&#xff0c;过程中是如何进行买卖的&#xff0c;也不知道如果参与其中&#xff0c;自己需要承担什么风险&#xff0c;最终的收益会如何。对于上述的这些问题本文&#xff0c;将为大家简单地介绍一下。 虽然现…

前端进阶Html+css09----BFC模型

1.什么是BFC模型 全称是&#xff1a;Block formatting context&#xff08;块级格式化上下文&#xff09;&#xff0c;是一个独立的布局环境&#xff0c;不受外界的影响。 2.FC,BFC,IFC 元素在标准流里都属于一个FC&#xff08;Formatting Context&#xff09;。 块级元素的布…

javaweb01-html、css基础

话不多说&#xff0c;先来一张泳装板鸭镇楼 接上一开篇&#xff0c; 首战以web的三大基石开头&#xff08;html、css、js&#xff09;&#xff0c;js内容比较多&#xff0c;下一序章讲解&#xff0c;这一章节主要以html和css为主。 目录 一、初始web前端 二、HTML标签结构 三、…