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;

1panel mysql地址修改 mysql更换ip地址_数据库

  • 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;

1panel mysql地址修改 mysql更换ip地址_大数据_02

  • 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;
  1. 尝试进行写操作:在任一个主节点上执行INSERT、UPDATE或DELETE语句,并确认数据在两个节点之间同步。
  2. 进行故障切换测试:可以模拟一个主节点故障,观察系统是否能够自动切换到另一个主节点,并且数据的读写操作可以继续正常运行。