当前位置: 首页 > news >正文

MySQL----利用Mycat配置读写分离

首先确保主从复制是正常的,具体步骤在MySQL----配置主从复制。MySQL----配置主从复制

环境

  • master(CtenOS7):192.168.200.131 ----ifconfig查看->ens33->inet
  • slave(win10):192.168.207.52 ----ipconfig查看->无线局域网适配器 WLAN:-> IPv4 地址
  • 保证两个环境中MySQL版本一致,这里使用8.0
  • 使用Mycat读写分离配置,所以要JDK环境,建议使用JDK1.7版本以上(java -version检查jdk环境)
    在这里插入图片描述
  • MySQL的root账户有远程访问权限

设置

  • 登录到mysql
    在这里插入图片描述

  • 选择mysql数据库,使用查看权限select Host,User from user;注意:确保master 和 slave 都允许远程连接
    在这里插入图片描述
    在这里插入图片描述

  • % 表示可以任何地址来进行连接。如果不是百分号,使用 grant all privileges on *.* to 'root'@'%' identified by 'xxxxx' with grant option; 来修改。xxxxxxx为root的密码。—MySQL 5.x版本 grant all on *.* to 'root'@'%';—MySQL 8x版本

  • 刷新权限flush privileges;

  • 重启mysql服务service mysqld restart

安装与配置

安装Mycat

  1. 下载Mycat安装包,大家可以自己寻找,如果需要的话可以留言,我发给大家。
  2. 在linux下载lrzsz可以方便的上传安装包。进入root用户,yum search lrzsz,找到安装包。
    在这里插入图片描述
  3. 安装yum install lrzsz.x86_64
  4. 命令行输入rz,找到安装包所在位置,选择安装包,进行上传安装包。sz下载到windows
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  5. 解压tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
    在这里插入图片描述
    在这里插入图片描述
  6. 建立软链接 ln -s /mycat/mycat/bin/mycat /usr/bin/mycat 要找对自己的安装的位置,进行建立。
    在这里插入图片描述
  7. 验证是否成功 输入mycat ,会有提示,这时说明成功了。
    在这里插入图片描述

配置

  1. 在mycat下的conf文件夹中找到 server.xml
    在这里插入图片描述
  2. vim server.xml
  3. 修改,保存退出 要改为自己的密码
    在这里插入图片描述
  4. 使用MySQL 8.x的mysql命令连接Mycat时,在server.xml文件的system标签下必须配置如下选项。
<property name="useHandshakeV10">1</property>
<property name="defaultSqlParser">druidparser</property>

在这里插入图片描述

  1. 备份一份schema.xml,cp schema.xml schema.xml.bk
  2. 进入 vim schema.xml ,配置读写分离,分库分表等内容
    在这里插入图片描述
  3. :%d删除所有,进行配置
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!-- 逻辑数据库 -->
<schema name="USERDB" checkSQLschema="false" sqlMaxLimit="100"
dataNode="dn1"></schema>
<!-- 存储节点 -->
<dataNode name="dn1" dataHost="node1" database="mytest" />
<!-- 数据库主机 -->
<dataHost name="node1" maxCon="1000" minCon="10" balance="3"
writeType="0" dbType="mysql" dbDriver="native"
switchType="1" slaveThreshold="100">
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<writeHost host="192.168.200.131" url="192.168.200.131:3306"
user="root"
password="955955">
<!-- can have multi read hosts -->
<readHost host="192.168.207.52" url="192.168.207.52:3306"
user="root" password="123456" />
</writeHost>
<!-- 写数据库宕机后的备份数据库 -->
<writeHost host="192.168.207.52" url="192.168.207.52:3306"
user="root"
password="955955" />
</dataHost>
</mycat:schema>

在这里插入图片描述

配置逻辑库USERDB,数据节点 dn1,物理数据库mytest。
注意:上述黄框里面的内容,要改成自己的ip以及密码,mytest是当前主库,从库主从复制已有的数据库。

相关参数

balance:
“0”:不开启读写分离
“1”:全部的readHost和stand by writeHost参与select语句的负载
“2”:所有读操作随机在readHost和writeHost上分发
“3”:所有读请求随机分发到writeHost对应的readHost上执行
writeType=“0”:所有写操作发送到配置的第一个writeHost,第一个挂掉切换到还生存的第二个
writeHost
switchType:
“-1”:不自动切换
“1”:自动切换,根据心跳select user()
“2”:基于MySQL的主从同步状态决定是否进行切换 show slave status

  1. vim /etc/my.cnf 添加如下内容
sql_mode=""
default_authentication_plugin = mysql_native_password
  1. 启动mycat,mycat start,查看端口信息 netstat -tanp | grep 66
    在这里插入图片描述
  2. 说明端口正常工作了。
  3. 如果有问题,可以查看日志 ,wrapper.log是启动相关的,mycat.log是运行相关的。
    在这里插入图片描述
  4. vim * wrapper.log 查看日志
    在这里插入图片描述
    在这里插入图片描述
  5. 连接成功,如果显示一些连接失败,也可以在日志里面找到原因。
    在这里插入图片描述

端口

  • 8066:数据端口
  • 9066:管理端口

相关文章:

MySQL----利用Mycat配置读写分离

首先确保主从复制是正常的&#xff0c;具体步骤在MySQL----配置主从复制。MySQL----配置主从复制 环境 master(CtenOS7)&#xff1a;192.168.200.131 ----ifconfig查看->ens33->inetslave(win10)&#xff1a;192.168.207.52 ----ipconfig查看->无线局域网适配器 WLA…...

【科学计算与可视化】2. pandas 基础

1. 安装 Pandas 首先&#xff0c;确保你已经安装了 Pandas。你可以使用以下命令安装&#xff1a;pip install pandas 2. 导入 Pandas 在开始使用 Pandas 之前&#xff0c;你需要先导入它&#xff1a;import pandas as pd 3. 创建数据结构 Pandas 主要有两种数据结构&#…...

医学记录 --- 腋下异味

逻辑图地址 症状 病因 汗液分泌旺盛&#xff1a;由于天气炎热、活动出汗、肥胖等因素导致汗液分泌旺盛&#xff0c;可引起腋下有异味表现。在这种情况下&#xff0c;建议保持身体清洁&#xff0c;特别是在炎热和潮湿的环境下。可以使用抗菌洗液、喷雾或霜剂来帮助减少细菌滋…...

【Linux】进程间通信_1

文章目录 七、进程间通信1. 进程间通信分类管道 未完待续 七、进程间通信 进程间由于 进程具有独立性 &#xff0c;所以不可以直接进行数据传递。但是我们通常需要多个进程协同&#xff0c;共同完成一件事&#xff0c;所以我们需要进程间通信的手段。进程间通信的本质就是先让…...

Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.6 在kernel 中实现系统复位和系统关机驱动

1. 概述 上一章节Qemu篇我们已经实现了我们SOC的power reset和 power down 寄存器,本章节我们就在Linux driver中去实现它。 2. Linux kernel 访问其他节点 Linux kernel中有一种机制,就是在driver中访问其它设备树节点的信息,了解设备树的应该都知道,每个设备节点都有一…...

如何在Java中进行单元测试?

如何在Java中进行单元测试&#xff1f; 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨如何在Java中进行单元测试&#xff0c;这是一项确保代码质…...

代码随想录训练营Day32

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、买卖股票的最佳时机2二、跳跃游戏三、跳跃游戏2四、K次取反后最大化的数组和 前言 今天是跟着代码随想录刷题的第32天&#xff0c;主要是学了买卖股票的最…...

代码随想录训练营Day31

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、分发饼干二、摆动序列三、最大子树组合 前言 今天是跟着代码随想录刷题的第31天&#xff0c;主要学习了分发饼干&#xff0c;摆动序列和最大子树组合这三个…...

Docker 多阶段构建

多阶段构建 目录 尝试创建 Dockerfile构建容器镜像运行 Spring Boot 应用程序使用多阶段构建额外资源 在传统构建中&#xff0c;所有构建指令都在一个构建容器中顺序执行&#xff1a;下载依赖项、编译代码、打包应用程序。所有这些层最终都在你的最终镜像中。这种方法虽然可行…...

Linux应急响应——知攻善防应急靶场-Linux(1)

文章目录 查看history历史指令查看开机自启动项异常连接和端口异常进程定时任务异常服务日志分析账户排查总结 靶场出处是知攻善防 Linux应急响应靶机 1 前景需要&#xff1a; 小王急匆匆地找到小张&#xff0c;小王说"李哥&#xff0c;我dev服务器被黑了",快救救我&…...

基于CDMA的多用户水下无线光通信(1)——背景介绍

研究生期间做多用户水下无线光通信&#xff08;Underwater Optical Wireless Communication&#xff0c;UOWC&#xff09;&#xff0c;写几篇博客分享一下学的内容。导师给了大方向&#xff0c;让我用直接序列码分多址&#xff08;Direct Sequence Code Division Multiple Acce…...

vlan三层交换技术--交换机--(自作)

...

基于springboot websocket和okhttp实现消息中转

1、业务介绍 消息源服务的消息不能直接推给用户侧&#xff0c;用户与中间服务建立websocket连接&#xff0c;中间服务再与源服务建立websocket连接&#xff0c;源服务的消息推给中间服务&#xff0c;中间服务再将消息推送给用户。流程如下图&#xff1a; 此例中我们定义中间服…...

@PostConstruct 注解的方法用于资源的初始化

PostConstruct 是 Java EE 5 引入的一个注解&#xff0c;主要用于依赖注入完成之后&#xff0c;需要执行的方法上。这个注解的方法会在依赖注入完成后自动被容器&#xff08;如 EJB 容器或 Spring 容器&#xff09;调用&#xff0c;并且只会被调用一次。 PostConstruct 注解的…...

(一)SvelteKit教程:hello world

&#xff08;一&#xff09;SvelteKit教程&#xff1a;hello world sveltekit 的官方教程&#xff0c;在这里&#xff1a;Creating a project • Docs • SvelteKitCreating a project • Docs • SvelteKit 我们可以按照如下的步骤来创建一个项目&#xff1a; npm create s…...

华为Atlas NPU ffmpeg 编译安装

处理器&#xff1a;鲲鹏920 NPU&#xff1a;昇腾 310P3 操作系统&#xff1a;Kylin Linux Advanced Server V10 CANN&#xff1a;Ascend-cann-toolkit_8.0.RC1_linux-aarch64.run FFmpeg&#xff1a;AscendFFmpegPlugin(不要用AscendFFmpeg) AscendFFmpegPlugin下载地址&…...

Python 虚拟环境 requirements.txt 文件生成 ;pipenv导出pip安装文件

搜索关键词: Python 虚拟环境Pipenv requirements.txt 文件生成;Pipenv 导出 pip requirements.txt安装文件 本文基于python版本 >3.9 文章内容有效日期2023年01月开始(因为此方法从这个时间开始是完全ok的) 上述为pipenv的演示版本 使用以下命令可精准生成requirement…...

Less与Sass的区别

1. 功能和工具&#xff1a; Sass&#xff1a;提供了更多的功能和内置方法&#xff0c;如条件语句、循环、数学函数等。Sass 也支持更复杂的操作和逻辑构建。 Less&#xff1a;功能也很强大&#xff0c;但相比之下&#xff0c;Sass 在功能上更为丰富和成熟。 2、编译环境&…...

力扣-2663

题目 如果一个字符串满足以下条件&#xff0c;则称其为 美丽字符串 &#xff1a; 它由英语小写字母表的前 k 个字母组成。它不包含任何长度为 2 或更长的回文子字符串。 给你一个长度为 n 的美丽字符串 s 和一个正整数 k 。 请你找出并返回一个长度为 n 的美丽字符串&#…...

CausalMMM:基于因果结构学习的营销组合建模

1. 摘要 在线广告中&#xff0c;营销组合建模&#xff08;Marketing Mix Modeling&#xff0c;MMM&#xff09; 被用于预测广告商家的总商品交易量&#xff08;GMV&#xff09;&#xff0c;并帮助决策者调整各种广告渠道的预算分配。传统的基于回归技术的MMM方法在复杂营销场景…...

终极指南:InvokeAI模型缓存优化技术 - 让AI绘图既快速又省内存

终极指南&#xff1a;InvokeAI模型缓存优化技术 - 让AI绘图既快速又省内存 【免费下载链接】InvokeAI Invoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the…...

8款降AI工具实测:知网维普全过,毕业季改稿不踩坑

每到毕业季&#xff0c;不少同学都会卡在论文AIGC检测这一关&#xff1a;熬了好几个通宵打磨的稿子&#xff0c;一查AI率直接飙到80%以上&#xff0c;被导师打回要求重改&#xff0c;眼看提交截止日一天天临近&#xff0c;越急越不知道从哪下手。其实现在主流的AI检测算法早就有…...

OpenClaw调试进阶:百川2-13B-4bits量化模型响应日志分析

OpenClaw调试进阶&#xff1a;百川2-13B-4bits量化模型响应日志分析 1. 为什么需要关注模型响应日志 上周我在用OpenClaw对接百川2-13B-4bits量化模型时&#xff0c;遇到了一个奇怪的现象&#xff1a;自动化任务执行到一半突然中断&#xff0c;控制台只显示"模型响应异常…...

SWIFT报文格式规范:从字符约束到金融交易安全的深度解析

1. SWIFT报文格式规范的核心价值 第一次接触SWIFT报文时&#xff0c;我被那些看似简单的字母代号震撼到了——谁能想到&#xff0c;像"2!n"这样简单的符号组合&#xff0c;竟然承载着全球金融系统的运转规则&#xff1f;在跨境汇款中输错一个字符可能导致资金滞留数周…...

AI读脸术如何对接API?Flask服务封装部署教程

AI读脸术如何对接API&#xff1f;Flask服务封装部署教程 1. 为什么需要把“读脸术”变成API&#xff1f; 你可能已经试过这个AI读脸术镜像&#xff1a;上传一张照片&#xff0c;几秒内就能看到人脸框、性别和年龄段标签&#xff0c;效果干净利落。但如果你正开发一个用户管理…...

构建企业级AI智能体:LangGraph多智能体框架实战指南

构建企业级AI智能体&#xff1a;LangGraph多智能体框架实战指南 【免费下载链接】langgraph Build resilient language agents as graphs. 项目地址: https://gitcode.com/GitHub_Trending/la/langgraph 在当今AI应用开发中&#xff0c;开发者面临着一个核心挑战&#x…...

芯片缺货潮下的应对策略与国产替代方案

1. 芯片缺货潮下的行业现状最近我的一个产品项目中&#xff0c;原本采购价仅5元的ST品牌MCU&#xff08;微控制器&#xff09;价格飙升至70元&#xff0c;涨幅高达14倍。这个案例并非个例&#xff0c;而是当前全球半导体行业供应链危机的缩影。作为从业十余年的硬件工程师&…...

阿里云 ECS 部署 SpringBoot 项目完整教程(无坑可直接照着做)

需要购买阿里云服务器、学习服务器搭建的朋友看这里 &#x1f447;阿里云超值折扣购买通道 &#xff1a;https://t.aliyun.com/U/L7DIVq 超详细服务器搭建教程&#xff1a;手把手教你阿里云服务器的购买及环境搭建 无论是新手入门、个人建站还是企业部署&#xff0c;都能一站…...

在CentOS上部署RustDesk私有中继服务器:从零搭建到安全配置

1. 环境准备&#xff1a;搭建RustDesk私有中继服务器的基石 在CentOS系统上部署RustDesk私有中继服务器&#xff0c;首先需要确保基础环境配置正确。我遇到过不少因为环境问题导致的部署失败案例&#xff0c;所以这部分我会详细说明每个环节的注意事项。 1.1 系统更新与基础依赖…...

51单片机实战:从零构建电子密码锁系统

1. 项目背景与硬件准备 第一次接触51单片机时&#xff0c;我就被它的实用性深深吸引。作为电子爱好者入门的最佳选择&#xff0c;STC89C52这款经典芯片就像乐高积木的基础模块——价格亲民&#xff08;某宝20元就能买到开发板&#xff09;、资源丰富&#xff08;8K Flash、512…...