安全禁用从属服务器上的 MySQL 复制:最佳实践和注意事项

2023-10-26

MySQL 复制是一种在主服务器和一个或多个从服务器之间同步数据的流行方法。它确保高可用性、负载平衡和数据冗余。但是,在某些情况下,您可能需要暂时禁用从属服务器上的复制,例如在维护或故障排除期间。本文将介绍在从属服务器上安全禁用 MySQL 复制的最佳实践和注意事项。

第 1 步:计划并沟通停机时间

在禁用复制之前,请通知您的团队成员并在必要时安排维护时段。这样,您可以最大限度地减少对用户的影响并避免意外中断。确保您有回滚计划,以防在此过程中遇到问题。

步骤2:停止从服务器上的复制

要安全地在从属服务器上禁用 MySQL 复制,首先停止复制过程。使用以下命令停止 SQL 和 IO 线程:

1
停止奴隶;

通过检查从属状态确认复制已停止:

1
SHOW 从属状态\G;

The 从设备_IO_运行 and 从属_SQL_运行列应该都显示“No”如下图所示:

Stop MySQL Replication on Slave
Stop MySQL Replication on Slave

步骤 3:保留复制配置

在对配置进行任何更改之前,请备份现有配置文件,通常名为 my.cnf 或 my.ini。如果需要,此备份将帮助您恢复原始设置。

步骤 4:删除或注释掉复制设置

要在从服务器上禁用复制,请打开配置文件(my.cnf 或 my.ini)并删除或注释掉以下行:

1
2
3
4
5
6
server-id= <从服务器 ID>
binlog-format = mixed
relay-log= <中继日志路径>
log_bin= <日志箱路径>
log-slave-updates = 1
只读= 1

请记住将 替换为适合您的设置的值。

第5步:重启MySQL服务器

更新配置后,重新启动 MySQL 服务器以应用更改:

  • 在 Linux 上:
    sudo service mysql restart 
    
  • 在 Windows 上:
    net stop MySQL 
    net start MySQL 
    

第 6 步:验证更改和数据一致性

重新启动 MySQL 服务器后,验证复制设置是否已禁用。使用以下命令检查服务器状态:

1
SHOW 从属状态\G;

不应该有输出,因为服务器不再充当从属服务器。另外,还要保证主从服务器之间的数据一致性。您可以使用 Percona Toolkit 中的 pt-table-checksum 等工具来比较两台服务器上的数据。

如果您仍然在上述命令中获得输出。执行以下sql命令:

1
复位从机 ALL;

再次运行“显示从属状态\G;”命令,您应该看到如下屏幕截图所示的输出:

Reset MySQL Replication on Slave
Reset MySQL Replication on Slave

第 7 步:监控服务器性能

禁用复制后,监视服务器的性能和资源利用率。此监控将帮助您识别因更改而可能出现的任何潜在问题。

第 8 步:记录更改

最后,记录对服务器配置所做的更改以及在此过程中遇到的任何问题。本文档将帮助您和您的团队了解更改背后的原因,并为未来的维护或故障排除任务提供参考。

结论

在从服务器上禁用 MySQL 复制应谨慎执行,以确保对数据一致性和服务器性能的影响最小。通过遵循本文中概述的最佳实践和注意事项,您可以安全地禁用复制,同时保持数据库的完整性并最大限度地减少停机时间。始终计划、沟通和记录更改,以确保 MySQL 环境中的顺利运行。

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

安全禁用从属服务器上的 MySQL 复制:最佳实践和注意事项 的相关文章

  • 用户登录时如何更新updated_at列?

    我正在尝试更新updated at每次用户登录时 列到当前时间 但我收到以下错误 InvalidArgumentException 找不到四位数年份 数据丢失 PHP input Input all remember Input has r
  • MySQL:通过迭代并与另一行连接来更新表中的行

    我有一张表纸 CREATE TABLE papers id int 11 NOT NULL AUTO INCREMENT title varchar 1000 CHARACTER SET utf8 COLLATE utf8 unicode
  • 在“读取初始通信数据包”时失去与 MySQL 服务器的连接,系统错误:61

    3天了 已经碰壁了 我正在运行 mac os x 我已经安装了mysql 5 5 14 osx10 6 x86 64 dmg 就上下文而言 我需要安装 mysql gem 以便与 ruby on Rails 一起使用 除非有一个有效的 my
  • 如果 HBase 不是运行在分布式环境中,它还有意义吗?

    我正在构建数据索引 这将需要以形式存储大量三元组 document term weight 我将存储多达几百万个这样的行 目前我正在 MySQL 中将其作为一个简单的表来执行 我将文档和术语标识符存储为字符串值 而不是其他表的外键 我正在重
  • php 时间戳 UTC

    我有一个 PHP MySQL 查询 它将一些数据插入 MySQL 数据库 并且包含时间戳 目前INSERT查询用途NOW 对于时间戳列 它以以下格式保存在数据库中 2012 07 24 13 13 02 不幸的是 对我来说 服务器不在我的时
  • 为什么mysql状态key_reads,key_reads_request的值为零?

    我对 mysql 状态有些困惑 mysql gt 显示类似 key 的状态 Variable name Value Com assign to keycache 0 Com preload keys 0 Com show keys 0 Ha
  • MySQL:插入被外键引用行的更新阻止

    让我用一个 SQL 示例来开始我的问题 这是表设置 创建表x and y With y x指的是x id 插入一行到x id 1 START TRANSACTION CREATE TABLE x id INT 11 NOT NULL AUT
  • AWS EMR PySpark 连接到 mysql

    我正在尝试使用 jdbc 通过 pyspark 连接到 mysql 我可以在 EMR 之外完成此操作 但是当我尝试使用 EMR 时 pyspark 无法正确启动 我在我的机器上使用的命令 pyspark conf spark executo
  • Vapor MySQL - 未显示为导入值

    这个问题是关于 Swift Web 框架 Vapor 我正在尝试使用 Swift 的包管理器导入 VaporMySQL 框架 我已经在本地运行数据库 mySQL 端口打开并工作 mySQL 数据库正在工作 Vapor 应用程序正在工作 我已
  • Sqoop mysql错误-通信链路故障

    尝试运行以下命令 sqoop import connect jdbc mysql 3306 home credit risk table bureau target dir home sqoop username root password
  • 如何调试 MySQL 上的锁等待超时?

    在我的生产错误日志中 我偶尔会看到 SQLSTATE HY000 一般错误 1205 超过锁等待超时 尝试 重新开始交易 我知道当时哪个查询正在尝试访问数据库 但是有没有办法找出哪个查询在那个精确时刻拥有锁定 暴露这一点的是这个词交易 从该
  • PHP 扩展 mysqli 和 nd_mysqli 之间的区别[重复]

    这个问题在这里已经有答案了 Mysqli 准备好的语句 如下所示 在以下情况下会抛出以下错误 get result 叫做 stmt connection gt prepare select column from table where i
  • 提交表单问题... Enter key

    我有一个包含几个下拉列表和一个文本字段以及一个按钮的表单 当我单击按钮时 将调用 ajax 函数 ajax 然后调用一个 php 函数 该函数从 mysql 数据库获取结果 问题是我不能通过在表单中 按回车键来完成同样的事情 页面只会刷新
  • MySQL SUM 具有相同的 ID

    抱歉 这个真正简单的问题 我刚刚学习 PHP 和 MySQL 我已经在谷歌上搜索了一个多星期 但没有找到任何答案 我创建了一个简单的财务脚本 表格如下 table a aid value 1 100 2 50 3 150 table b b
  • Azure 上的 Laravel 应用程序:用户“azure”@“localhost”的访问被拒绝

    我正在将 Laravel 应用程序部署到 Azure Web 应用程序 Mysql 到目前为止我执行了以下步骤 1 在应用程序中激活Mysql 2 连接到 BitBucket 存储库并确保代码已同步 3 创建 env文件并设置数据库变量如下
  • 如何提高MySQL INSERT和UPDATE性能?

    我们数据库中的 INSERT 和 UPDATE 语句的性能似乎正在下降 并导致我们的 Web 应用程序性能不佳 表是InnoDB 应用程序使用事务 我可以做一些简单的调整来加快速度吗 我认为我们可能会遇到一些锁定问题 我怎样才能找到答案 你
  • Mysql 按特定字符串排序

    我似乎找不到这个问题的答案 假设我有一个像这样的表 ID Name 1 AAAAAAAAA 2 ABAAAAAAA 3 BBAAAAAAA 4 CDAAAAAAA 5 BBAAAAAAA 有什么办法可以通过以下方式订购name 但是 从说开
  • 使用mysqldump只转储数据,不转储任何表信息

    我正在寻找转储 mysql 数据库中所有数据的语法 我不需要任何表格信息 mysqldump no create info 您也可以使用 skip triggers 如果您使用触发器 no create db 如果您正在使用 databas
  • MySQL - 插入后更新同一个表的触发器

    这就是我想做的 当有新的INSERT到表中ACCOUNTS 我需要更新行ACCOUNTS where pk NEW edit on通过设置status E 表示特定 旧 帐户已被编辑 DELIMITER DROP TRIGGER IF EX
  • “错误 1406:1406:数据对于列来说太长”,但它不应该如此?

    我有以下表结构 DROP TABLE IF EXISTS tblusers 40101 SET saved cs client character set client 40101 SET character set client utf8

随机推荐

  • cicd 07--构建前后端一体化自动化发布流程

    cicd 07 构建前后端一体化自动化发布流程 1 介绍 2 构建过程 2 1 功能说明 2 2 jenkins gitlab 配置 2 3 测试结果 3 注意事项 4 说明 1 介绍 cicd 04 构建自动化发布流程 介绍了一种通用的自
  • NLP扎实基础3:TF-IDF文本特征提取

    TF IDF简介 TF IDF使用流程 见上图 步骤如下 根据全部语料每个词对应的TF IDF值 每个句子对应全部语料的one hot编码 将TF IDF编码作为特征 Python代码 流程很简单 就不复现了 这里有两个使用的方式 第一种是
  • Flutter中如何强制某个页面横屏

    在很多文章中 提到了Flutter中强制某个页面横屏使用如下代码 SystemChrome setPreferredOrientations DeviceOrientation portraitUp DeviceOrientation po
  • 零基础学员的shell脚本的写作思路详解

    前言 这两天一直再批改学员的脚本作业 大多数学员写的很好 有的学员写的不太好 还有一些还没有入门到学员不知道脚本该咋写 不知道脚本怎么写的学员 绝大多数犯了一个错误 一上来就把脚本想的太复杂了 我们今天单独聊聊这个问题 脚本错误范例示范 写
  • c++面试知识点补充

    1 说说c 结构体和c结构体的区别 1 c的结构体内不允许有函数存在 c 允许有内部成员函数 且允许该函数是虚函数 2 c的结构体对内部成员变量的访问权限只能是public 而c 允许public protected private三种 3
  • android 本地更新版本,Android版本更新之本地数据库更新

    最近上架了一个算法学习类APP 在更新应用版本时 发现数据库依旧没有更新 还是上一个版本的数据内容 遂把这方面的内容记录下来 PS 本人处女作APP 算法之家 可以在豌豆荚 360手机助手 腾讯应用宝中下载安装 如下是父类的构造函数 所有的
  • python远程连接服务器获取服务器状态

    文章目录 前言 一 python远程连接服务器 1 由于paramiko属于第三方库 所以需要使用如下命令先行安装 2 SSHClient常用的方法介绍 3 基本使用 二 结合linux命令查看服务器状态 查看对应的linux命令返回值 通
  • 经典sql实例大全

    from http www cnblogs com yubinfeng archive 2010 11 02 1867386 html 一 基础 1 说明 创建数据库CREATE DATABASE database name 2 说明 删除
  • Nacos官方文档

    原文 Nacos官方手册 什么是 Nacos什么是 Nacoshttps nacos io zh cn docs what is nacos html Nacos 致力于帮助您发现 配置和管理微服务 Nacos 提供了一组简单易用的特性集
  • 新手剪辑师秒变大神 高级感视频剪辑的几种常用技巧

    高级感视频剪辑 就像一个多情的 渣男 你对他倾尽全力 他却对你若即若离 你讨厌他 却离不开他 那忽冷忽热的态度真叫人抓狂 请收起您的卑微 换一种逻辑和剪辑工具 掌握正确的思路 其实我们远比 高级感视频剪辑 更高级 软件 souurl cn
  • 如何在 Ubuntu 18.04 和 16.04 LTS 上安装 PostgreSQL

    PostgreSQL 开发团队发布了最新版本 PostgreSQL 12 PostgreSQL 是一个开源的对象关系数据库系统 它是用于生产服务器的领先数据库服务器之一 PostgreSQL允许我们执行各种编程语言的存储过程 比如C C P
  • 安全禁用从属服务器上的 MySQL 复制:最佳实践和注意事项

    MySQL 复制是一种在主服务器和一个或多个从服务器之间同步数据的流行方法 它确保高可用性 负载平衡和数据冗余 但是 在某些情况下 您可能需要暂时禁用从属服务器上的复制 例如在维护或故障排除期间 本文将介绍在从属服务器上安全禁用 MySQL
  • S3FS:在 CentOS 和 Fedora 系统上安装 Amazon S3 存储桶

    Amazon S3 是一种高度可扩展且持久的对象存储服务 允许您从网络上的任何位置存储和检索任意数量的数据 S3FS 是 Amazon S3 的 FUSE 用户空间文件系统 接口 允许您将 Amazon S3 存储桶挂载为 CentOS 或
  • 实用指南:克隆 Git 存储库和添加文件

    在软件开发领域 版本控制系统是天赐之物 它们使我们能够跟踪代码的更改 与他人协作 甚至在出现问题时恢复到以前的工作版本 最流行的版本控制系统之一是 Git 今天 我们将深入研究如何克隆 Git 存储库和添加文件的实用指南 1 理解Git 在
  • 如何在 CentOS/RHEL 7/6 上安装 PostgreSQL 11

    PostgreSQL 11 发布 它是一个开源的对象关系 高度可扩展 符合 SQL 的数据库管理系统 PostgreSQL 是由加州大学伯克利分校计算机科学系开发的 本文将帮助您在 CentOS RHEL 7 6 系统上安装 Postgre
  • 如何在 Fedora 上安装 VirtualBox 7.0

    VirtualBox 是一种流行的虚拟化软件包 可用于在计算机上运行虚拟机 在本文中 您将学习如何在免费开源 Linux 操作系统 Fedora 上安装 VirtualBox 如果您将 VirtualBox 用于个人或教育目的 那么在 Fe
  • 如何重置 Amazon RDS 主用户密码

    本教程将帮助您更改或重置 Amazon RDS 主用户密码通过亚马逊网络服务控制台界面 1 登录到亚马逊网络服务安慰 2 选择需要修改密码的RDS实例 点击Modify 3 Go to Settings部分并在其中输入您的新主密码新主密码输
  • PHP fgets() 函数:逐行读取文件

    PHP fgets function is used for reading a single line from a file This function takes two arguments as described below 1
  • 组合预测模型

    组合预测模型 LSTM XGBoost长短期记忆神经网络结合极限梯度提升树时间序列预测 Matlab程序 目录 组合预测模型 LSTM XGBoost长短期记忆神经网络结合极限梯度提升树时间序列预测 Matlab程序 预测结果 评价指标 基
  • Oracle not in查不到应有的结果(NULL、IN、EXISTS详解)

    http x spirit iteye com blog 615603 首先我要感谢aa和Liu Xing帮我发现了我日志中的错误 之前比较粗心 把3条SQL语句写成一样的了 对于给读者造成的麻烦 我深表抱歉 今天我把原文做了修订 为了对得