温馨提示×

centos mysql主从切换怎么操作

小樊
115
2025-01-02 14:24:25
栏目: 云计算

在CentOS上操作MySQL主从切换,可以按照以下步骤进行:

1. 准备工作

  • 确保你有一个主数据库和一个从数据库。
  • 确保主数据库的复制用户已经配置好,并且从数据库已经连接到主数据库。

2. 停止从数据库服务

首先,停止从数据库的服务,以防止在切换过程中出现数据不一致的情况。

sudo systemctl stop mysqld 

3. 备份主数据库

在切换之前,建议备份主数据库,以防万一。

mysqldump -u root -p --all-databases > full_backup.sql 

4. 配置从数据库为新的主数据库

编辑从数据库的配置文件(通常是/etc/my.cnf/etc/mysql/my.cnf),将server-id设置为一个唯一的值,并配置relay-logread-only选项。

[mysqld] server-id=100 relay-log=relay-bin read-only=ON 

5. 重启从数据库服务

重启从数据库服务以应用配置更改。

sudo systemctl start mysqld 

6. 停止主数据库服务

在切换过程中,停止主数据库的服务。

sudo systemctl stop mysqld 

7. 更改从数据库的复制用户

更新从数据库的复制用户,使其指向新的主数据库。假设新的主数据库的地址为new_master_ip,端口为3306,用户名为repl,密码为password

USE mysql; FLUSH PRIVILEGES; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; 

8. 配置从数据库连接到新的主数据库

编辑从数据库的配置文件(通常是/etc/my.cnf/etc/mysql/my.cnf),添加以下配置以指向新的主数据库。

[mysqld] server-id=100 relay-log=relay-bin read-only=ON relay-log-index=relay-bin.index relay-log-do-db=your_database_name 

9. 启动从数据库服务

重启从数据库服务以应用配置更改。

sudo systemctl start mysqld 

10. 验证复制状态

在从数据库上执行以下命令,验证复制状态是否正常。

SHOW SLAVE STATUS\G; 

确保Slave_IO_RunningSlave_SQL_Running都为Yes,并且Last_IO_ErrorLast_SQL_Error为空。

11. 更新应用程序配置

最后,更新你的应用程序配置,使其指向新的主数据库地址。

12. 启动主数据库服务

启动主数据库服务以恢复服务。

sudo systemctl start mysqld 

通过以上步骤,你应该能够成功地在CentOS上进行MySQL主从切换。如果在过程中遇到任何问题,请检查日志文件以获取更多信息。

0