MySQL主从复制是一种常见的数据备份和读写分离策略。下面是实现MySQL主从复制的步骤:
-
配置主服务器(Master):
- 修改主服务器的配置文件
my.cnf
,添加以下内容:[mysqld] server-id=1 log-bin=mysql-bin binlog-format=MIXED
- 重启MySQL服务使配置生效。
- 创建用于复制的用户并授权:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
- 查看主服务器状态并记录File和Position:
SHOW MASTER STATUS;
- 修改主服务器的配置文件
-
配置从服务器(Slave):
- 修改从服务器的配置文件
my.cnf
,添加以下内容:[mysqld] server-id=2 relay-log=relay-bin read-only
- 重启MySQL服务使配置生效。
- 在从服务器上执行以下命令,配置主服务器信息:
CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='file_name_from_master_status', MASTER_LOG_POS=position_from_master_status;
- 启动从服务器复制进程:
START SLAVE;
- 检查从服务器复制状态:
SHOW SLAVE STATUS\G;
- 修改从服务器的配置文件
-
配置读写分离:
- 在应用程序中,根据需要将读操作发送到从服务器,写操作发送到主服务器。具体实现方式取决于应用程序的架构和技术栈。例如,可以使用负载均衡器、代理或DNS轮询等技术来实现读写分离。
通过以上步骤,可以实现MySQL的主从复制和读写分离。需要注意的是,这只是一个简单的示例,实际部署时可能需要根据具体需求进行调整和优化。