mysql

MySQL实例读写分离配置

小樊
83
2024-09-08 12:32:38
栏目: 云计算

MySQL 实例的读写分离配置可以通过以下几个步骤来实现:

  1. 安装和配置 MySQL 主从复制

首先,你需要在一台服务器上安装 MySQL 作为主服务器(Master),然后在另一台服务器上安装 MySQL 作为从服务器(Slave)。接下来,配置主从复制,使得从服务器能够复制主服务器上的数据。

  1. 配置主服务器(Master)

编辑主服务器的配置文件(my.cnf 或 my.ini),添加以下内容:

[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=your_database_name

这里,server-id 是主服务器的唯一标识,log-bin 用于开启二进制日志,binlog-do-db 用于指定需要复制的数据库。

  1. 配置从服务器(Slave)

编辑从服务器的配置文件(my.cnf 或 my.ini),添加以下内容:

[mysqld]
server-id=2
relay-log=relay-bin
relay-log-index=relay-bin.index

这里,server-id 是从服务器的唯一标识,relay-logrelay-log-index 用于存储中继日志。

  1. 创建复制用户并授权

在主服务器上创建一个用于复制的用户,并授予相应的权限:

CREATE USER 'repl_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
  1. 配置从服务器连接到主服务器

在从服务器上,使用以下命令配置复制:

CHANGE MASTER TO
  MASTER_HOST='master_host_ip',
  MASTER_USER='repl_user',
  MASTER_PASSWORD='your_password',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=  701;

这里,MASTER_HOST 是主服务器的 IP 地址,MASTER_USERMASTER_PASSWORD 是在第 4 步中创建的复制用户和密码,MASTER_LOG_FILEMASTER_LOG_POS 是主服务器的二进制日志文件名和位置,可以通过 SHOW MASTER STATUS; 命令查看。

  1. 启动从服务器复制

在从服务器上,使用以下命令启动复制:

START SLAVE;
  1. 监控复制状态

在从服务器上,使用以下命令查看复制状态:

SHOW SLAVE STATUS\G;

如果 Slave_IO_RunningSlave_SQL_Running 都是 YES,则表示复制正常运行。

  1. 应用读写分离

在应用层,将读操作(SELECT)发送到从服务器,将写操作(INSERT、UPDATE、DELETE)发送到主服务器。这样就实现了 MySQL 实例的读写分离。

0
看了该问题的人还看了