温馨提示×

centos mysql主从切换怎么操作

小樊
82
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