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)

大家都在看

  • K8S的apiVersion版本详解

    1. 背景 Kubernetes的官方文档中并没有对apiVersion的详细解释,而且因为K8S本身版本也在快速迭代,有些资源在低版本还在beta阶段,到了高版本就变成了stab…

    Linux 2023年6月14日
    075
  • [python][flask] Flask 图片上传与下载例子(支持漂亮的拖拽上传)

    1、效果预览 2、新增逻辑概览 3、tuchuang.py 逻辑介绍 3.1 图片上传 3.2 图片合法检查 3.3 图片下载 4、init.py 逻辑介绍 5、upload.ht…

    Linux 2023年6月8日
    0118
  • NC反弹shell的几种方法

    nc的作用 (1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 (2)端口的扫描,nc可以作为client发起TCP或UDP连接 (3…

    Linux 2023年6月14日
    083
  • BGP路由衰减

    路由不稳定的主要表现形式是路由振荡(Route Flapping),即路由表中的某条路由反复消失和重现。 发生路由振荡时,路由器就会向邻居发布路由更新,收到更新报文的路由器需要重新…

    Linux 2023年6月13日
    093
  • 进程补充

    一、僵尸进程与孤儿进程 僵尸进程 当一个子进程结束运行(一般是调用exit、运行时发生致命错误或收到终止信号所导致)时,子进程的退出状态(返回值)会回报给操作系统,系统则以SIGC…

    Linux 2023年6月14日
    067
  • Dubbo + ZooKeeper

    16 Dubbo + ZooKeeper 16.1 Dubbo下载 GigHub下载地址: https://github.com/apache/dubbo-admin/tree/m…

    Linux 2023年6月14日
    080
  • Linux快速安装流量监控工具(实用版)

    前言: Linux流量监控工具,在此我推荐两种分别为: 1、nload(推荐)因为个人看着舒服点😂 2、iftop 你可以选择上面两种中的任何一种。下面是这两个版本的简介和安装教程…

    Linux 2023年5月27日
    087
  • Linux基础学习(四)

    自建yum仓库,分别为网络源和本地源 1.本地源 点击查看代码 root@ct7:~# yum install autofs root@ct7:~# systemctl enabl…

    Linux 2023年6月8日
    0123
  • shell echo单行和多行文字定向写入到文件中

    单行文本: #!/bin/bash echo "192.168.85.24 tsedb">> /etc/hosts 多行文本: < #!/bi…

    Linux 2023年5月28日
    076
  • 关于.Net Core生成JSON时错误:A possible object cycle was detected which is not supported. This can either be due to a cycle or if the object depth is larger than the maximum allowed depth of 32.

    此笔记记载了本人在.Net Core 5.0环境下生成Json数据时 A possible object cycle was detected which is not suppo…

    Linux 2023年6月14日
    0168
  • Linux系统解压zip包出现中文乱码问题

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    096
  • 数据库的灾备

    数据是企业重要的生产资料,关键数据的丢失可能会给企业致命一击,因为数据是计算机系统存在的原因和基础。数据往往是不可再生的,一旦发生数据丢失,企业就会陷入困境:客户资料、技术文件、财…

    Linux 2023年6月6日
    0103
  • Spring Boot中异步调用的正确使用姿势(详解)【转】

    介绍:异步请求的处理。除了异步请求,一般上我们用的比较多的应该是异步调用。通常在开发过程中,会遇到一个方法是和实际业务无关的,没有紧密性的。比如记录日志信息等业务。这个时候正常就是…

    Linux 2023年6月8日
    097
  • LeetCode-47. 全排列 II

    题目来源 题目详情 给定一个可包含重复数字的序列 nums , 按任意顺序 返回所有不重复的全排列。 示例 1: 输入: nums = [1,1,2]输出:[[1,1,2],[1,…

    Linux 2023年6月7日
    079
  • redis key的过期时间

    设置redis key的生存过期时间 Redis 有四个不同的命令可以用于设置键的生存时间(键可以存在多久)或过期时间(键什么时候会被删除) : EXPlRE 命令用于将键key …

    Linux 2023年5月28日
    089
  • Docker 环境 Nacos2 MySQL8

    本文介绍 docker 环境下安装并单机运行 Nacos2,使用 docker 环境下的 MySQL 8 存储数据。 1 拉取镜像 1.1 创建目录 在硬盘上创建 nacos 的有…

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