配置读写分离可以分为以下几个步骤:
- 配置主库:在主库的my.cnf配置文件中设置log-bin参数,启用二进制日志。
- 配置从库:在从库的my.cnf配置文件中设置read-only参数,确保只能从主库复制数据到从库。
- 启动主从复制:在主库中创建复制账号,并在从库中
- 配置主库信息和复制账号,启动主从复制过程。
配置读写分离:在应用程序中设置读库和写库的连接信息,一般使用主库的IP地址和端口作为写库,读库的IP地址和端口作为读库,以实现读写分离。
下面是一个具体的案例:
假设我们有一个主库和两个从库,需要配置读写分离,主库的IP地址为192.168.1.100,从库1的IP地址为192.168.1.101,从库2的IP地址为192.168.1.102,端口均为3306。
1.配置主库
在主库的my.cnf配置文件中添加如下配置:
log-bin=mysql-bin
server-id=1
2. 配置从库
在从库的my.cnf配置文件中添加如下配置:
read-only=1
server-id=2 # 从库1配置为2,从库2配置为3
3.启动主从复制
在主库中创建复制账号,并授权给从库:
mysql> CREATE USER 'repl'@'192.168.1.%' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.%';
在从库中配置主库信息和复制账号:
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.1.100',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='password',
-> MASTER_LOG_FILE='mysql-bin.000001', # 主库的二进制日志文件名
-> MASTER_LOG_POS=4; # 主库的二进制日志位置
mysql> START SLAVE;
4.配置读写分离
在应用程序中配置读写分离
在写数据时,使用主库的连接:
在读数据时,使用读库的连接: