宝塔面板跨服务器数据同步教程:双机备份零停机

news/2024/12/23 20:56:44 标签: 服务器, android, 运维, 宝塔面板, 同步, 备份, 建站

之前发布的教程不够完美,安全性也不够,所以优化了很多地方

┌────────────────────────────────────────┐
│            系统功能选项              │
├────────────────────────────────────────┤
│    1. 配置远程主机    │
│    2. 配置数据库权限    │
│    3. 建立 ssh 连接    │
│    4. 测试 ssh 连接    │
│    5. 测试文件同步    │
│    6. 测试数据库同步    │
│    7. 添加定时任务▶    │
│    0. 退出脚本    │
└────────────────────────────────────────┘

前言

为什么需要双机备份

  • 服务器互备:主机宕机,备机即刻顶上
  • 双节点反代:确保服务持续可用
  • 自动化备份:目录增量同步 + 数据库全量备份
  • 简单高效:一键部署,定时任务自动执行

适用环境:宝塔面板 7.7.0 及以上版本

快速部署

⚠️ 提醒:在使用脚本前,分别在两台服务器配置同步用户(下面有步骤)

脚本:

curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/rsync-vps.sh && chmod +x rsync-vps.sh && ./rsync-vps.sh

配置同步用户

服务器 A 配置

  1. 登录 MySQL:
mysql -u root -p
  1. 创建同步用户tongbu并授权,仅修改密码即可,最好不要有特殊字符
CREATE USER 'tongbu'@'127.0.0.1' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'tongbu'@'127.0.0.1';
FLUSH PRIVILEGES;
  1. 验证配置:
# 查看同步用户权限
SHOW GRANTS FOR 'tongbu'@'127.0.0.1';

# 查看所有用户
SELECT user, host FROM mysql.user;

# 退出
exit

服务器 B 配置
按照服务器 A 相同步骤配置,确保用户名和密码一致。

宝塔面板配置

假设你需要把数据库同步服务器B,在服务器B上打开宝塔面板

在这里插入图片描述

配置步骤:

  1. 打开宝塔面板
  2. 点击"从服务器获取"
  3. 点击"同步所有"

之后的定时同步任务就不需要再次设置点击了

清理同步用户(可选)

# 登录 MySQL
mysql -u root -p

# 删除同步用户
DROP USER 'tongbu'@'127.0.0.1';

# 刷新权限
FLUSH PRIVILEGES;

# 验证删除
SELECT user, host FROM mysql.user;

# 退出
exit

http://www.niftyadmin.cn/n/5796994.html

相关文章

如何在centos系统上挂载U盘

在CentOS上挂载NTFS格式的U盘,需要执行一系列步骤,包括识别U盘设备、安装必要的软件、创建挂载点,并最终挂载U盘。以下是在CentOS上挂载NTFS格式U盘的详细步骤: 一、准备工作 确认CentOS版本: 确保你的CentOS系统已经安装并正常运行。不同版本的CentOS在命令和工具方面可能…

架构师应如何考虑重构

目录 重构的目的、时机、难点 1.1重构的目的 1.2何时重构 1.2.1 添加新功能的时候对周边历史进行小型重构 1.2.2 cide review 时 1.2.3 有计划有目的的重构 1.2.5 何时不该重构 1.3、重构的难点 1.3.1 保证重构前后行为一致。 1.3.2 减少出现问题带来的影响 1.4 常见的重构…

SpringBoot3+Vue3开发在线考试系统

项目介绍 项目分为3种角色,分别为:超级管理员、老师、学生。超级管理员,负责系统的设置、角色的创建、菜单的管理、老师的管理等功能,也可以叫做系统管理员;老师角色,负责系统业务的管理,包括学…

安全算法基础(一)

安全算法是算法的分支之一,还的依靠大量的数学基础进行计算,本文参照兜哥的AI安全样本对抗,做一个简单的算法安全概括,从零学习。 最新的安全算法对于我们常规的攻击样本检测,效果是不理想的,为了探究其原…

如何正确计算显示器带宽需求

1. 对显示器的基本认识 一个显示器的参数主要有这些: 分辨率:显示器屏幕上像素点的总数,通常用横向像素和纵向像素的数量来表示,比如19201080(即1080p)。 刷新率:显示器每秒钟画面更新的次数&…

upload-labs-master第21关超详细教程

目录 环境配置解题思路利用漏洞 操作演示 环境配置 需要的东西 phpstudy-2018 链接: phpstudy-2018 提取码:0278 32 位 vc 9 和 11 运行库 链接: 运行库 提取码:0278 upload-labs-master 靶场 链接: upload-lasb-ma…

python多线程爬取药品信息

多线程爬取药品信息 利用多线程来获取药品信息可以实现高效的爬取,方便我们自己对药品的名称、价格以及功效进行了解和掌握 导入需要使用到的包 from concurrent.futures.thread import ThreadPoolExecutor from lxml import etree import requests import rando…

C++面试八股文:指针与引用的区别

引言 这也是一道C开发工程师在面试中经常被问到的题目,本文将从指针和引用的几方面区别和各自的常用用途展开讲解,助力各位在面试中大放异彩。 指针和引用的区别 1、指针是一个变量,储存的是一个地址,通过该地址可以操作内存中…