MySQL 主从复制+高可用+读写分离
以下是一个简化的示例,展示如何配置MySQL的主从复制和读写分离。
- 配置主服务器 (Master):
[mysqld]
server-id=1
log-bin=mysql-bin
- 配置从服务器 (Slave):
[mysqld]
server-id=2
relay-log=relay-bin
- 在主服务器上创建复制用户并授权:
CREATE USER 'replica'@'%' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'%';
FLUSH PRIVILEGES;
SHOW MASTER STATUS;
- 在从服务器上配置复制:
CHANGE MASTER TO
MASTER_HOST='主服务器IP',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='记录的log文件名',
MASTER_LOG_POS=记录的log位置;
START SLAVE;
- 配置高可用方案(可以是MHA、Orchestrator等)。
- 配置读写分离,可以使用中间件ProxySQL或MySQL Router。
ProxySQL配置示例:
# 设置ProxySQL
proxy-read-only on
proxy-backend-addresss 主服务器IP:3306
proxy-backend-addresss 从服务器IP:3306
MySQL Router配置示例:
[routing:read_writ]
bind_address=主从服务器IP
bind_port=4000
mode=read-write
destinations=主服务器IP:3306
[routing:read_only]
bind_address=主从服务器IP
bind_port=4001
mode=read-only
destinations=从服务器IP:3306
以上是一个概要配置,实际部署时需要考虑更多细节,如网络配置、防火墙设置、监控等。
评论已关闭