centos9+mysql8.0下mycat1.6部署

#创作灵感#

整理一下mysql代理技术,这个当时是和mysql集群部署一个项目的,一并整理出来供参考。

1、环境准备

此处使用的为M-M-SS双主双从结构集群,集群部署方法放在我的上一篇文章中

防火墙可以使用firewall-cmd放行,演示环境中已提前关闭。

mycat192.168.189.141
master1192.168.189.137
master2192.168.189.138

slave1

192.168.189.139
slave2192.168.189.140

在master1与master2上创建mycat连接数据库所需账号mycatproxy

此命令只需在一台master上执行即可

(因上一篇文章设置的为二进制日志同步格式,所以后续操作部分不受影响,可以达成同时建立4个数据库账号的效果)

create user 'mycatproxy'@'192.168.189.141' identified by 'Liumuquan@123';
grant all on *.* to 'mycatproxy'@'192.168.189.141' ;
flush privileges;

1、配置JAVA环境

这里使用官方下载地址,需要使用oracle账户,国内镜像源位置变动比较频繁保存的两个都已经丢失了。

Java 存档下载 - Java SE 8 (oracle.com)

注意此处jdk版本

[root@mycat ~]# tar xf jdk-8u91-linux-x64.tar.gz -C /usr/local/
[root@mycat ~]# ln -s /usr/local/jdk1.8.0_91/ /usr/local/java
[root@mycat ~]# vim /etc/profile
#文件最下面添加环境变量
JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
#保存退出
[root@mycat ~]# source /etc/profile
[root@mycat ~]# env |grep JAVA
JAVA_HOME=/usr/local/java
[root@mycat ~]# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

2、Mycat部署

下载mycat

官网地址:

https://github.com/MyCATApache/Mycat-download-old

百度云:

链接:https://pan.baidu.com/s/1oR4poMbueCqF9-lcWyoMFw?pwd=j59f 
提取码:j59f 

配置mycat

解压

[root@mycat ~]# tar xf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz -C /usr/local/
[root@mycat ~]# ls /usr/local/mycat/
bin  catlet  conf  lib  logs  version.txt
[root@mycat ~]# vim /usr/local/mycat/conf/server.xml
编辑mycat前端文件

注销多余账号

原文件

注释后

启动管理员账号

注释完后往上翻可以找到,原文件

修改mycat管理的库,库名称为mydb2,修改后

保存退出,mycat前端配置完成

编辑mycat后端文件

配置内容较多,建议将该文件备份一份,进入文件后清理掉所有注释行,方便后续配置,本文档没有关于分表操作内容(后端工程师按需配置,此次只是数据库代理演示)table部分也进行了删除

初步清理完的文件内容如下

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/"><schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100"></schema><dataNode name="dn1" dataHost="localhost1" database="db1" /><dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHost host="hostM1" url="localhost:3306" user="root"password="123456"><readHost host="hostS2" url="192.168.1.200:3306" user="root" password="xxx" /></writeHost><writeHost host="hostS1" url="localhost:3316" user="root"password="123456" /></dataHost>
</mycat:schema>

修改后

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/"><schema name="mydb2" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema><dataNode name="dn1" dataHost="localhost1" database="mydb2" /><dataHost name="localhost1" maxCon="1000" minCon="10" balance="1" writeType="1" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHost host="master1" url="master1:3306" user="mycatproxy" password="Liumuquan@123"><readHost host="slave1" url="slave1:3306" user="mycatproxy" password="Liumuquan@123" /></writeHost><writeHost host="master2" url="master2:3306" user="mycatproxy" password="Liumuquan@123"><readHost host="slave2" url="slave2:3306" user="mycatproxy" password="Liumuquan@123" /></writeHost></dataHost>
</mycat:schema>

注释版

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/"><schema name="管理的数据库名称" checkSQLschema="false" sqlMaxLimit="100" dataNode="数据节点名称"></schema><dataNode name="数据节点名称" dataHost="集群名称" database="管理的数据库名称" /><dataHost name="集群名称" maxCon="最大连接数" minCon="最小连接一般用于数据库优化" balance="开启读写分离是1,不开启是0" writeType="工作模式备份是0,负载均衡是1" dbType="数据库类型(mysql或sqlserver等)" dbDriver="数据库驱动native为本地型" switchType="切换模式"  slaveThreshold="100"><heartbeat>select user()</heartbeat><writeHost host="master1" url="master1:3306" user="mycatproxy" password="Liumuquan@123"><readHost host="slave1" url="slave1:3306" user="mycatproxy" password="Liumuquan@123" /></writeHost><writeHost host="master2" url="master2:3306" user="mycatproxy" password="Liumuquan@123"><readHost host="slave2" url="slave2:3306" user="mycatproxy" password="Liumuquan@123" /></writeHost></dataHost>
</mycat:schema>
mysql8.0+mycat1.6特有步骤

mysql5+mycat1.5不需要进行此操作,此处产生原因应该为新版本特有的默认加密验证方式

ALTER USER 'mycatproxy'@'192.168.189.141' IDENTIFIED WITH mysql_native_password BY 'Liumuquan@123';#修改mycatproxy验证方式ALTER USER 'mycatproxy'@'192.168.189.141' IDENTIFIED BY 'Liumuquan@123' PASSWORD EXPIRE NEVER;#设定该账号密码强制永不过期flush privileges;
增加mysql尝试连接限制

排错操作非必要

有时会出现因为延迟反复连接导致连接溢出报错,可以通过刷新连接池解决

在master1上执行

mysqladmin flush-hosts -uroot -p'Liumuquan@123'

2、启动Mycat

[root@mycat conf]# /usr/local/mycat/bin/mycat start
Starting Mycat-server...
[root@mycat conf]# netstat -anpt | grep 8066
tcp6       0      0 :::8066                 :::*                    LISTEN      2218/java
[root@mycat conf]# ps aux | grep mycat

若启动失败可以通过mycat日志检查

安装mariadb(mysql客户端程序)登录本机

yum install -y mariadb
mysql -hmycat -uroot -p123456 -P8066
#此处为前端文件中设置的账户密码

可以对集群中的mydb2库进行修改

排错:

如果登陆上后 use mydb2;切换库命令反应极慢,并且show表报错,可以尝试将schema.xml 文件中write 节点的url改为 127.0.0.1:3306,此处原因目前不明确,这个方式纯属经验积累,查找了一下没有相关文档希望有大佬可以留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/375282.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux /etc/profile 详解

概述 Linux是一个多用户的操作系统。每个用户登录系统后&#xff0c;都会有一个专用的运行环境。通常每个用户默认的环境都是相同的&#xff0c;这个默认环境实际上就是一组环境变量的定义。用户可以对自己的运行环境进行定制&#xff0c;其方法就是修改相应的系统环境变量&…

化繁为简!新一代 Anybus 网关为何简单易用?

为什么易用性很重要&#xff1f; 产品的易用性一直至关重要&#xff0c;它直接影响用户满意度和市场接受度。近年来&#xff0c;随着自动化设备数量的迅速增长&#xff0c;自动化工程师的工作量大幅增加&#xff0c;使得用户对易用性的要求日益提高。 自动化工程师面临的主要…

BGP第二日

上图为今日所用拓扑 &#xff0c;其中R1和R4&#xff0c;R3和R5为EBGP邻居&#xff0c;R1和R3为IBGP邻居&#xff0c;AS200区域做OSPF动态路由 一.BGP建立邻居的六种状态 1.idle 空闲状态&#xff1a;建立邻居最初的状态 2.Connect 连接状态&#xff1a;在…

解决GPT-4o耗电难题!DeepMind新算法训练效率提升13倍,能耗降低10倍!

目录 01 有更好的解决方案吗&#xff1f; 02 从“超级batch”中筛选数据 03 技术介绍 04 实验结果 生成可学习batch 谷歌DeepMind推出的新算法JEST&#xff0c;将LLM训练的迭代次数减少了13倍&#xff0c;计算量降低了10倍&#xff0c;有望重塑AI未来。GPT-4o早已成为耗能…

linux 0.11 中的重要的全局变量

通过对全局变量的了解&#xff0c;也有助于了解整个代码的逻辑。就跟学习类一样&#xff0c;了解类有哪些成员变量&#xff0c;也有助于了解类的成员函数的功能。 &#xff08;1&#xff09;内存初始化相关 static u_char mem_map [ PAGING_PAGES ] { 0 , } .本数组对 1M 以外…

数据结构 —— BellmanFord算法

数据结构 —— BellmanFord算法 BellmanFord算法检测负权值环BellmanFord和Dijkstra思想上的区别Dijkstra算法的思想Bellman-Ford算法的思想思想上的对比 我们今天来看一个算法BellmanFord算法&#xff0c;我们之前的Dijkstra算法只能用来解决正权图的单源最短路径问题。 Bell…

06浅谈大语言模型可调节参数TopP和TopK

浅谈大模型参数TopP和TopK 大语言模型中的temperature、top_p和top_k参数是用来控制模型生成文本时的随机性和创造性的。下面分享一下topP和topK两个参数的意义及逻辑&#xff1b; top K&#xff08;Top-K Sampling&#xff09; 作用&#xff1a;只从模型认为最可能的k个词中选…

Nodejs 第八十四章(ElasticSearch搜索)

ElasticSearch基本用法在之前的篇章介绍过了 这里不在过多阐述 模拟假数据 安装库 faker-js/faker 模拟假数据的一个库非常好用支持中文使用中文 locale: [zh_CN], 设置即可生成名字&#xff0c;邮箱&#xff0c;手机号&#xff0c;id&#xff0c;年龄&#xff0c;性别生成完成…

Python功能制作之获取CSDN所有发布文章的对应数据

大家好&#xff0c;今天我要分享的是一个实用的Python脚本&#xff0c;它可以帮助你批量获取CSDN博客上所有发布文章的相关数据&#xff0c;并将这些数据保存到Excel文件中。此外&#xff0c;脚本还会为每篇文章获取一个质量分&#xff0c;并将这个分数也记录在Excel中。让我们…

LLM-阿里云 DashVector + ModelScope 多模态向量化实时文本搜图实战总结

文章目录 前言步骤图片数据Embedding入库文本检索 完整代码 前言 本文使用阿里云的向量检索服务&#xff08;DashVector&#xff09;&#xff0c;结合 ONE-PEACE多模态模型&#xff0c;构建实时的“文本搜图片”的多模态检索能力。整体流程如下&#xff1a; 多模态数据Embedd…

HTML5新增的input元素类型:number、range、email、color、date等

HTML5 大幅度地增加与改良了 input 元素的种类&#xff0c;可以简单地使用这些元素来实现 HTML5 之前需要使用 JavaScript 才能实现的许多功能。 到目前为止&#xff0c;大部分浏览器都支持 input 元素的种类。对于不支持新增 input 元素的浏览器&#xff0c;input 元素被统一…

采购订单列表根据条件设置行背景色

文章目录 采购订单列表根据条件设置行背景色Python实现Bos配置实现-列表条件格式化 采购订单列表根据条件设置行背景色 Python实现 python脚本 import clr clr.AddReference(System) clr.AddReference(Kingdee.BOS) clr.AddReference(Kingdee.BOS.Core) clr.AddReference(Sy…

spark shuffle写操作——SortShuffleWriter

写入的简单流程&#xff1a; 1.生成ExternalSorter对象 2.将消息都是插入ExternalSorter对象中 3.获取到mapOutputWriter&#xff0c;将中间产生的临时文件合并到一个临时文件 4.生成最后的data文件和index文件 可以看到写入的重点类是ExternalSorter对象 ExternalSorter 基…

高创新 | CEEMDAN-VMD-GRU-Attention双重分解+门控循环单元+注意力机制多元时间序列预测

目录 效果一览基本介绍模型设计程序设计参考资料 效果一览 基本介绍 高创新 | CEEMDAN-VMD-GRU-Attention双重分解门控循环单元注意力机制多元时间序列预测 本文提出一种基于CEEMDAN 的二次分解方法&#xff0c;通过样本熵重构CEEMDAN 分解后的序列&#xff0c;复杂序列通过VMD…

算法日常练习

对于这个题&#xff0c;如何处理同一个方向的问题&#xff0c;且对于同一组的如果间隔太大如何实现离散化 #include<bits/stdc.h> using namespace std;#define int long long typedef long long ll; map<pair<int,int>,vector<pair<ll,ll>>> mp…

小程序做自定义分享封面图,Canvas base64图片数据真机上不显示?【已解决】

首选说一下需求&#xff0c;做一个小程序分享&#xff0c;但是封面图要自定义&#xff0c;除了要有对应商品还有有背景图&#xff0c;商品名。类似这种 实现逻辑&#xff0c;把商品图和背景图&#xff0c;再加上价格和商品名用canvas 渲染出来 这是弄好之后的效果图&#xff0…

【简历】兰州某大学一本硕士:面试通过率基本是为0

注&#xff1a;为保证用户信息安全&#xff0c;姓名和学校等信息已经进行同层次变更&#xff0c;内容部分细节也进行了部分隐藏 简历说明 这是一个一本硕士的Java简历&#xff0c;那这个简历因为学校本身&#xff0c;它是一个一本的硕士&#xff0c;我们一般认为这一本硕士&a…

Riscv 架构的合规测试

为啥直接关注riscv-arch-test&#xff0c;是因为RISCOF 测试框架使用的是riscv-arch-test 1. The architectural test 架构测试是一个单一的测试&#xff0c;代表了可编译和运行的最小测试代码。它是用汇编代码编写的&#xff0c;其产品是test signature。一个架构测试可能由…

体育资讯小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;球员管理&#xff0c;教练管理&#xff0c;赛事日程管理&#xff0c;赛事类型管理&#xff0c;联赛积分榜管理 开发系统&#xff1a;Windows 架构模式&#xff1a;SSM JDK版本&am…

【前端项目笔记】10 项目优化上线

项目优化上线 目标&#xff1a;优化Vue项目部署Vue项目&#xff08;上线提供使用&#xff09; 项目优化 项目优化策略&#xff1a; 生成打包报告&#xff1a;根据生成的报告发现问题并解决第三方库启用CDN&#xff1a;提高首屏页面的加载效率Element-UI组件按需加载路由懒加…