mysql如何做主从如何切换

2023年 8月 10日 76.3k 0

MySQL作为一种重要的关系型数据库,其高可用性已经成为不少企业所关注的问题之一,而主从复制就是MySQL高可用性的一个重要方面。主从复制的核心是:将一个MySQL数据库的数据从一个服务器复制到另一个或多个服务器,并在每个从服务器上保持一致。所以,在MySQL的集群中,主从复制到底是如何实现的呢?

首先,我们需要做的就是在主数据库上创建一个从数据库的账号,并将访问权限分配到从服务器上。

GRANT REPLICATION SLAVE ON *.* TO 'slaveUser'@'slaveHost' IDENTIFIED BY 'slavePassword';
FLUSH PRIVILEGES;

同时,确保主服务器的日志文件和日志位置都被启用:

[mysqld]
log-bin=/var/lib/mysql/mysql-bin.log
binlog-do-db=myDatabase
binlog-ignore-db=mysql
server-id=1

在从数据库上,需要做的就是配置它作为从服务器,并将主服务器的信息告诉它。我们可以通过以下命令来添加从服务器:

CHANGE MASTER TO
MASTER_HOST='masterHost',
MASTER_USER='slaveUser',
MASTER_PASSWORD='slavePassword',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=107;

接下来,我们可以启动从服务器。

当主数据库宕机时,从数据库将会尝试重新连接到新的主数据库上。可以通过以下命令在从服务器上重新连接到新的主服务器:

CHANGE MASTER TO
MASTER_HOST='newMasterHost',
MASTER_USER='slaveUser',
MASTER_PASSWORD='slavePassword',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=107;
START SLAVE;

通过上述方式,主从切换就完成了。注意,当进行主从切换时,需要确保新的主服务器上数据的正确性,否则可能会导致数据的丢失或不一致。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论