MySQL的主从复制(Master-Slave Replication)是一种数据备份和负载均衡的机制。它允许一个MySQL数据库(主库)的数据被复制到一个或多个其他MySQL数据库(从库)。主库负责写操作,而从库则负责读操作,从而实现读写分离,提高系统的整体性能和可靠性。
MySQL的主从复制主要有以下几种类型:
假设你已经有一个运行中的MySQL主库,现在想要增加一个从库。以下是大致的步骤:
my.cnf
文件,设置server-id
为一个唯一的值,并启用二进制日志(log-bin
)。SHOW MASTER STATUS;
命令,记录下File
和Position
的值。CHANGE MASTER TO
命令,指定主库的地址、端口、用户名、密码以及之前记录的二进制日志文件名和位置。START SLAVE;
命令,启动复制进程。SHOW SLAVE STATUS\G;
命令,检查Slave_IO_Running
和Slave_SQL_Running
的状态是否都为“Yes”,以确保复制正常进行。以下是一个简单的示例,展示如何在MySQL中配置主从复制:
主库配置(my.cnf):
[mysqld]
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
从库配置(my.cnf):
[mysqld]
server-id = 2
log-bin = /var/log/mysql/mysql-bin.log
relay-log = /var/log/mysql/mysql-relay-bin.log
获取主库二进制日志信息:
SHOW MASTER STATUS;
配置从库连接到主库:
CHANGE MASTER TO
MASTER_HOST='master_host_name',
MASTER_USER='replication_user_name',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='recorded_log_file_name',
MASTER_LOG_POS=recorded_log_position;
启动从库复制:
START SLAVE;
验证复制状态:
SHOW SLAVE STATUS\G;
领取专属 10元无门槛券
手把手带您无忧上云