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

windows在两台机器上测试 MySQL 集群实现实时备份

在两台机器上测试 MySQL 集群实现实时备份的基本步骤:


一、环境准备

机器配置
确保两台机器(假设为服务器 A 和服务器 B)能够互相通信,例如它们在同一个局域网内,并且开放了 MySQL 通信所需的端口(默认是 3306)。你可以通过检查防火墙设置或者网络配置来实现这一点。
两台机器都安装好 MySQL 数据库软件,并且版本最好保持一致,以避免兼容性问题。可以从 MySQL 官方网站(https://dev.mysql.com/downloads/mysql/)下载适合操作系统的安装包进行安装。
笔记本电脑配置
在笔记本电脑上安装 MySQL 客户端工具,例如 MySQL Workbench 或者命令行客户端。这将用于连接到两台服务器上的 MySQL 实例并进行配置和测试。可以从 MySQL 官方网站或者操作系统的软件仓库中获取相应的客户端软件。


二、配置主从复制(以主从模式实现实时备份为例)

主服务器(服务器 A)配置

编辑 MySQL 配置文件(通常是my.cnf或my.ini,位置因操作系统而异,如在 Linux 下可能在/etc/mysql/my.cnf)。
在配置文件中添加或修改以下内容:

server-id = 1
(这个 ID 用于在集群中唯一标识该服务器,主服务器一般设为 1)
log-bin = mysql - bin
(开启二进制日志,用于记录数据库的更改操作,这是实现主从复制的关键)

重启 MySQL 服务,使配置生效。
创建一个用于从服务器连接的用户,并授予复制权限。例如,在 MySQL 命令行中执行以下命令:

CREATE USER'repl_user'@'%' IDENTIFIED BY 'password';
(将password替换为实际的密码)
GRANT REPLICATION SLAVE ON *.* TO'repl_user'@'%';
FLUSH PRIVILEGES;

从服务器(服务器 B)配置

同样编辑 MySQL 配置文件,添加或修改以下内容:
server - id = 2(从服务器的 ID,与主服务器不同即可)
重启 MySQL 服务。
在从服务器的 MySQL 命令行中执行以下命令来设置主从连接:

CHANGE MASTER TO MASTER_HOST = '主服务器IP地址', MASTER_USER ='repl_user', MASTER_PASSWORD = 'password', MASTER_LOG_FILE = '主服务器二进制日志文件名', MASTER_LOG_POS = 主服务器二进制日志位置;

可以通过在主服务器上执行

SHOW MASTER STATUS;

命令获取二进制日志文件名和位置信息。

启动从服务器的复制进程:

START SLAVE;

通过在从服务器上执行

SHOW SLAVE STATUS\G

命令来检查主从复制状态,
确保Slave_IO_Running和Slave_SQL_Running都为Yes,这表示主从复制正常运行。


测试实时备份

在主服务器上创建一个数据库或者表,例如:
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE testtable (id INT, name VARCHAR(255));
INSERT INTO testtable VALUES (1, ‘test’);
然后在从服务器上检查是否能够实时看到这些更改。可以通过查询相同的数据库和表来验证,如在从服务器的 MySQL 命令行中执行:
USE testdb;
SELECT * FROM testtable;
如果能够看到主服务器插入的数据,说明实时备份(主从复制)配置成功。
在整个测试过程中,如果遇到问题,可以查看 MySQL 的错误日志(通常在 MySQL 的数据目录下,文件名可能是error.log)来获取更多关于错误的详细信息,以便进行故障排除。

注:
在这里插入图片描述


注:主服务器要开启监听
my.ini文件配置可以如下

[mysql]


# 设置mysql客户端默认字符集

default-character-set=utf8

[mysqld]

#设置3306端口

port = 3306

# 设置mysql的安装目录

basedir=D:\\mysql8.0\\mysql-8.0.11-winx64

# 设置mysql数据库的数据的存放目录, 此处必须是双斜杠,data文件夹可以先不创建

datadir=D:\\mysql8.0\\mysql-8.0.11-winx64\\data

# 允许最大连接数

max_connections=200

# 服务端使用的字符集默认为UTF8

character-set-server=utf8

# 创建新表时将使用的默认存储引擎

default-storage-engine=INNODB

server-id=1

log-bin = mysql - bin

# 允许远程连接  
bind-address = 0.0.0.0  # 允许来自任意 IP 的连接  

测试从服务器能否连接到主服务器

使用 MYSQL 客户端连接到主服务器看看是否正常。

bash

mysql -h 192.168.1.40 -u repl_user -p 

日志调试

查看主服务器的 MySQL 错误日志以获取更多错误信息,这可能指向问题的根源。错误日志通常可以在 MySQL 数据目录的 data 子目录中找到,文件名类似于 hostname.err。


检查网络连通性
确保从服务器能够到达主服务器。您可以使用 ping 命令或尝试 telnet:

bash

ping 192.168.1.40  
telnet 192.168.1.40 3306

如果从服务器要改写 change master to 语句

STOP SLAVE; – 停止从服务器
然后
CHANGE MASTER TO 。。。。。

START SLAVE; – 启动从服务器



http://www.kler.cn/a/378804.html

相关文章:

  • 【系统架构设计师】2022年真题论文: 论湖仓—体架构及其应用(包括解题思路和素材)
  • 「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现
  • C++ 模板专题 - 静态分支(if)
  • copyq禁止访问网络(ubuntu cgroup)
  • 1.2 图像处理基本操作
  • SpringMVC笔记 一万字
  • 三十、Python基础语法(继承-下)
  • Shutdown Abort 强制关库,真的有可能起不来?
  • C++算法练习-day32——222.完全二叉树的节点个数
  • 宠物排泄物图像分割系统:高效目标识别
  • 开放式耳机什么品牌质量好?5款排行榜里的开放式蓝牙耳机
  • rnn/lstm 项目实战
  • 关于使用K8s实现容器化作业的总时效最优调度
  • 【设计模式】结构型模式(一):适配器模式、装饰器模式
  • 爬虫技术——小白入狱案例
  • “灵境·石景山杯”数字文旅创新大赛晋级名单
  • 路由策略与路由控制
  • CNN-Attention分类预测 | Matlab实现多特征分类预测
  • qt QBrush详解
  • R 语言科研配色 --- 第 9 期
  • 基于SSM的在线作业管理系统 -octopus-master(源码+调试)
  • Go语言有哪些数据类型?
  • Java集合使用注意事项总结
  • 数据结构之二叉树--前序,中序,后序详解(含源码)
  • oracle如何在不同业务场景下正确使用聚合查询、联合查询及分组查询?
  • 使用Java实现机器学习:一个入门指南