MYSQL双主节点–更换ip

2024-01-08 06:13:13

MYSQL双主节点–更换ip

一、更换双主节点ip

1.停止mysql服务

#安装了supervisor
supervisorctl stop mysql
#未安装
systemctl stop mysqld

2.修改网卡配置信息

注:ens33是网卡名称,可能网卡不叫ens33

vi /etc/sysconfig/network-scripts/ifcfg-ens33

3.修改ip配置

#ip
IPADDR=新ip
#网关
GATEWAY=新网关
#子网掩码
NETMASK=255.255.255.0
#dns服务器地址
DNS1=114.114.114.114

4.重启network服务

systemctl restart network
二、重做MySQL双主集群

1.启动mysql

#安装了supervisor
supervisorctl start mysql
#未安装
systemctl start mysqld

2.重做双主集群

  • 如果忘记slave账号则重新创建
CREATE USER 'replication_user'@'%' identified by 'Wo195271.';
GRANT REPLICATION SLAVE on *.* TO 'replication_user'@'%'identified by 'Wo195271.';
FLUSH PRIVILEGES;
  • master1获取连接参数
#master2执行命令
SHOW MASTER STATUS;

在这里插入图片描述

  • master1切换主服务器为master2

MASTER_HOST=‘<主服务器IP地址>’,
MASTER_PORT=‘<端口>’,
MASTER_USER=‘<复制用户>’
MASTER_PASSWORD=‘<复制用户密码>’
MASTER_LOG_FILE=‘<主服务器的二进制日志文件>’
MASTER_LOG_POS=‘<主服务器的二进制日志位置>’

#salve执行命令,填入master2查询到的参数
#停止slave模式
stop slave;
CHANGE MASTER TO MASTER_HOST='new_master2',
MASTER_PORT=3306,
MASTER_USER='replication_user',
MASTER_PASSWORD='Wo195271.',
MASTER_LOG_FILE='mysql-bin.000004',
MASTER_LOG_POS=350;
START SLAVE;
  • master1查看状态

确保输出中的Slave_IO_RunningSlave_SQL_Running都是Yes,这意味着从服务器的复制进程正在运行且正常工作。还要确保输出中的Last_IO_ErrorLast_SQL_Error都为空,这表示没有发生错误。

show slave status;

在这里插入图片描述

  • master2获取连接参数
#master1执行命令
SHOW MASTER STATUS;
  • master2切换主服务器为master1

MASTER_HOST=‘<主服务器IP地址>’,
MASTER_PORT=‘<端口>’,
MASTER_USER=‘<复制用户>’
MASTER_PASSWORD=‘<复制用户密码>’
MASTER_LOG_FILE=‘<主服务器的二进制日志文件>’
MASTER_LOG_POS=‘<主服务器的二进制日志位置>’

#salve执行命令,填入master1查询到的参数
#停止slave模式
stop slave;
CHANGE MASTER TO MASTER_HOST='new_master1',
MASTER_PORT=3306,
MASTER_USER='replication_user',
MASTER_PASSWORD='Wo195271.',
MASTER_LOG_FILE='mysql-bin.000004',
MASTER_LOG_POS=350;
START SLAVE;
  • master2查看状态

确保输出中的Slave_IO_RunningSlave_SQL_Running都是Yes,这意味着从服务器的复制进程正在运行且正常工作。还要确保输出中的Last_IO_ErrorLast_SQL_Error都为空,这表示没有发生错误。

show slave status;

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.测试

  • 确保两个节点都处于正常运行状态,并且已经建立了双主复制关系。

  • 使用以下命令登录到其中一个主节点的MySQL服务器:

mysql -u 用户名 -p -h 主节点IP地址
  • 用户名替换为你的MySQL用户名,主节点IP地址替换为其中一个主节点的IP地址。然后输入密码以登录到MySQL服务器。
  1. 创建一个测试数据库(可选):
CREATE DATABASE test;
  1. 在该主节点上创建一个测试表,并插入一些数据:
USE test;
CREATE TABLE test_table (id INT, name VARCHAR(50));
INSERT INTO test_table VALUES (1, 'John'), (2, 'Jane');
  • 切换到另一个主节点,使用相同的命令登录:
mysql -u 用户名 -p -h 另一个主节点IP地址
  • 用户名替换为你的MySQL用户名,另一个主节点IP地址替换为另一个主节点的IP地址。然后输入密码以登录到MySQL服务器。
  1. 检查是否成功复制了先前创建的测试数据库和表。在该主节点上执行以下查询语句:

    如果查询返回了先前插入的数据,则表明双主复制在两个节点之间正常工作。

    USE test;
    SELECT * FROM test_table;
    
  2. 尝试进行写操作:在任一个主节点上执行INSERT、UPDATE或DELETE语句,并确认数据在两个节点之间同步。

  3. 进行故障切换测试:可以模拟一个主节点故障,观察系统是否能够自动切换到另一个主节点,并且数据的读写操作可以继续正常运行。

文章来源:https://blog.csdn.net/qq_41631913/article/details/135403635
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。