配置MySQL读写分离是一种常见的数据库架构方式,可以实现将读请求和写请求分发到不同的MySQL实例上,以提高数据库性能和可扩展性。下面是一个人性化的步骤指南:

  1. 部署主数据库(Master)和至少一个从数据库(Slave)。确保所有数据库实例都安装并正常运行MySQL。

蓝易云服务器 - 配置MySQL读写分离教程_主数据

  1. 在主数据库上进行配置更改。编辑MySQL配置文件(通常是 my.cnf),找到以下行并进行相应更改:
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name

这些配置将启用二进制日志(binary log),并指定要复制的数据库。

  1. 重启主数据库以使配置更改生效:
sudo service mysql restart
  1. 在从数据库上进行配置更改。编辑MySQL配置文件,找到以下行并进行相应更改:
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
read_only = 1

这些配置将启用中继日志(relay log),并将从数据库设置为只读模式。

  1. 重启从数据库以使配置更改生效:
sudo service mysql restart
  1. 在主数据库上创建用于复制的MySQL用户,并授权该用户具有复制权限:
CREATE USER 'replication_user'@'slave_ip_address' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip_address';
FLUSH PRIVILEGES;

将 slave_ip_address替换为从数据库的IP地址,password为用户的密码。

  1. 在从数据库上配置复制。连接到从数据库的MySQL实例,并执行以下命令:
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='master_ip_address', MASTER_USER='replication_user', MASTER_PASSWORD='password';
START SLAVE;

将 master_ip_address替换为主数据库的IP地址,password为复制用户的密码。

  1. 确保从数据库成功连接到主数据库,并开始复制。可以使用以下命令检查复制状态:
SHOW SLAVE STATUS\G

通过以上步骤,你可以配置MySQL读写分离。此时,写请求可以发送到主数据库,而读请求可以发送到任何一个从数据库,从而分担了主数据库的负载,提高了数据库的性能和可扩展性。请注意,在配置过程中要小心处理敏感信息(如密码),并确保数据库实例之间的网络连接和安全设置正确。