MySql集群之读写分离配置

一、主从复制原理

MySql集群之读写分离配置

二、环境准备

192.168.140.131 主库

192.168.140.132 从库

三、主库配置

1、修改配置文件 /etc/my.cnf

#mysql服务ID,保证整个集群环境中唯一,取值范围:1-232-1,默认为1
server-id=1

#是否只读,1代表只读,0代表读写
read-only=0

#忽略的数据,指不需要同步的数据库
#binlog-ignore-db=mysql

#指定同步的数据库
#binlog-do-db=db01

2、重启mysql服务

systemctl restart mysqld

3、登录mysql,创建远程连接的账号,并授予主从复制权限

#创建itcast用户,并设置密码,该用户可在任意主机连接该mysql服务
create user 'itcast'@'%' identified by 'Xiaohemiao_123';

#为'itcast'@'%'用户分配主从复制权限
GRANT REPLICATION SLAVE ON *.* TO 'itcast'@'%';

4、通过指令,查看二进制日志坐标

show master status;

MySql集群之读写分离配置

字段含义说明:

file:从哪个日志文件开始推送日志文件

position:从哪个位置开始推送日志

binlog_ignore_db:指定不需要同步的数据库

四、从库配置

1、修改配置文件 /etc/my.cnf

#mysql服务ID,保证整个集群环境中唯一,取值范围:1-232-1,默认为1
server-id=2

#是否只读,1代表只读,0代表读写
read-only=1

2、重启mysql服务

systemctl restart mysqld

3、登录mysql ,设置主库配置

CHANGE REPLICATION SOURCE TO SOURCE_HOST='',SOURCE_USER='',SOURCE_PASSWORD='',SOURCE_LOG_FILE='',SOURCE_LOG_POS=;

上述是8.0.23中的语法,如果mysql是8.0.23之前的版本,执行如下sql
CHANGE MASTER TO MASTER_HOST='',MASTER_USER='',MASTER_PASSWORD='',MASTER_LOG_FILE='',MASTER_LOG_POS=;

#示例:
CHANGE MASTER TO MASTER_HOST='192.168.140.131',MASTER_USER='itcast',MASTER_PASSWORD='Xiaohemiao_123',MASTER_LOG_FILE='mysql-bin.000010',MASTER_LOG_POS=766;

MySql集群之读写分离配置

4、开启同步操作

start replica; #8.0.22版本之后
start slave; #8.0.22之前版本# 停止slavestop slave;

5、查看主从同步状态

show replica status\G; #8.0.22版本之后
show slave status\G; #8.0.22之前版本

MySql集群之读写分离配置
-- 负责把主库bin日志(Master_Log)内容投递到从库的中继日志上(Relay_Log)
Slave_IO_Running: Yes

-- 负责把中继日志上的语句在从库上执行一遍
Slave_SQL_Running: Yes

-- Yes:表示正常, No:表示异常

五、测试并验证

首先我们在主库192.168.140.131上创建数据库TestDB并创建表t_user,此时我们在从库192.168.140.132上也会看到同样的数据库和表名,如图:

MySql集群之读写分离配置

此时,,,,,,,,,,,,,,,,,,读写分离大功告成,,,,,,,,,,,,,,,,,,,,,,,

Original: https://www.cnblogs.com/sportsky/p/16413538.html
Author: SportSky
Title: MySql集群之读写分离配置

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/609844/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球