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.mzph.cn/news/870842.shtml

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

相关文章

民航飞机维修工卡、放行单推广使用电子签章,每天可省约3万张纸

据某民航公司对外公布数据显示&#xff0c;通过在飞机航线维修工作中应用电子签章&#xff0c;以日均1000个航班计算&#xff0c;每天可节省约3万张纸、每年可节约1200多万元的费用成本。 小小一枚印章的转变&#xff0c;电子签章是如何做到的&#xff1f; 据了解&#xff0c;…

PowerCreatorCMS UploadResourcePic 任意文件上传漏洞复现

0x01 产品简介 PowerCreator CMS是翰博尔信息技术有限公司(简称翰博尔PowerCreator)推出的一款教育资源管理平台,专注于教育领域的信息化解决方案。PowerCreator CMS是集成了软件平台和硬件设备、多系统高度融合的教育资源管理平台。它旨在通过技术手段提升教育资源的管理、…

jenkins打包java项目报错Error: Unable to access jarfile tlm-admin.jar

jenkins打包boot项目 自动重启脚本失败 查看了一下项目日志报错&#xff1a; Error: Unable to access jarfile tlm-admin.jar我检查了一下这个配置&#xff0c;感觉没有问题&#xff0c;包可以正常打&#xff0c; cd 到项目目录下面&#xff0c;手动执行这个sh脚本也是能正常…

基于java+springboot+vue实现的作业管理系统(文末源码+Lw)110

基于SpringBootVue的实现的作业管理系统&#xff08;源码数据库万字Lun文流程图ER图结构图演示视频软件包&#xff09; 功能描述&#xff1a; 作业管理系统有管理员&#xff0c;教师&#xff0c;学生三个角色。教师和学生都可以进行注册然后再登录。学生可以修改自己的密码&…

总结之企业微信(一)——创建外部群二维码,用户扫码入群

创建外部群 企微接口中没有直接通过服务端API接口创建外部群 可以通过jssdk创建外部群&#xff1a;引用jssdk调用会话接口wx.openEnterpriseChat https://work.weixin.qq.com/api/doc/90000/90136/90511 创建外部群二维码 需要通过企业微信的应用&#xff0c;并且配置客户联…

直播麦克风哪个品牌音质最好,领夹麦克风品牌排行榜前十名推荐

​在这个快节奏的时代&#xff0c;无论是专业播客、商务会议、在线教学还是日常通话&#xff0c;清晰的声音传递已成为沟通的关键。传统的有线麦克风虽好&#xff0c;但在移动性和灵活性上稍显不足。而无线领夹麦克风&#xff0c;以其小巧便携、高保真音质和卓越的抗干扰能力&a…

有一个Time类,包含数据成员minute(分)和sec(秒),模拟秒表,每次走1秒,满60秒进1分钟,此时秒又从0起算,要求输出分和秒的值

单目运算符只有一个操作数&#xff0c;如!a,-b,&c,*p&#xff0c;还有最常用的i和--i等。重载单目运算符的方法与重载双目运算符的方法是类似的。但由于单目运算符只有一个操作数&#xff0c;因此运算符重载函数只有一个参数&#xff0c;如果运算符重载函数作为成员函数&am…

袋鼠云产品支持全栈信创适配,更加安全可靠、自主可控

随着国产替换的深化&#xff0c;企业对信创产品的需求逐渐融合更丰富的业务诉求以及未来数智规划&#xff0c;正从“同类替换”转向“迭代升级”。 当前&#xff0c;袋鼠云的产品与芯片、服务器、数据库、操作系统、中间件、云平台等主流信创厂商全面兼容适配&#xff0c;为企…

体育资讯小程序的设计

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

pico+unity3d开启彩色透视

1、点击游戏对象、点击XR、点击添加XR Origin&#xff0c;并把自带的摄像对象删除 2、添加脚本 using System.Collections; using System.Collections.Generic; using UnityEngine; using Unity.XR.PXR;//引入xr对象 public class toushi : MonoBehaviour {// Start is called…

监控房价和挂牌数量的工具-以成都房价为例

介绍 本文将介绍如何通过zervice提供的工具来监控成都房价&#xff08;其他城市或者地区类似&#xff09;&#xff0c;包括价格和挂牌数量。可以对购房一族提供数据参考。 数据来源 数据来源方面&#xff0c;本文以成都为例&#xff0c;我们会使用链家数据-> 选择地图找房…

【解密】记一次辽宁省某综合实践教学管理平台加解密算法分析

最近接到需求&#xff0c;于是准备弄一下&#xff0c;发现对方整个流程是&#xff1a;先加密在请求&#xff0c;请求得到的数据再进行拼接加密&#xff0c;不过花了2个小时还是完成了解密 哈哈 找到请求发现请求数据加密 在启动器里面发现登录方法 打印出各个关键变量数据 …

QT之嵌入外部第三方软件到本窗体中

一、前言 使用QT开发&#xff0c;有时需要调用一些外部程序&#xff0c;但是单独打开一个外部窗口有的场合很不合适&#xff0c;最好是嵌入到开发的QT程序界面中。还有就是自己开发的n个程序&#xff0c;一个主程序托n个子程序&#xff0c;为了方便管理将各个程序独立&#xf…

【TS】typescript 获取函数入参类型、返回值类型、promise返回值类型

文章目录 1. 准备工作2. 获取函数入参的类型3. 获取函数返回值类型4. 获取promise返回值类型 1. 准备工作 创建 utils.ts interface User {id: number;name: string;age: number; } interface Params {method: string;url: string; }function getUserList(params: Params,other…

读懂一本书

各位好,今天我们要分享的这本书叫作《读懂一本书》。 很不好意思,书的作者是我。并不是我写的所有的书我都一定要讲,我也有很多合辑类的书籍是从来不讲的,我讲过《可复制的领导力》,讲过《低风险创业》,还有今天的这本《读懂一本书》,都是我有一些原创的观点和价值在里…

真正适合零基础的机器学习入门书!数学不好?python不会?通通都能拿下!!

在数字化时代&#xff0c;机器学习无疑是一股强劲的革新动力&#xff0c;正悄无声息地渗透并革新各行各业&#xff0c;成为推动创新、提升效率的关键法宝。 对于想要涉足这个领域&#xff0c;渴望掌握机器学习精髓的初学者来说&#xff0c;《Python机器学习基础教程》就是一本…

C++ list容器的底层实现

一.list是什么 list 是 C容器中的带头双向链表&#xff0c;头结点不存储数据&#xff0c;头结点的下一个元素是第一个存储数据的元素&#xff0c;头结点的前一个元素连接着最后一个存储数据的元素。&#xff08;结构如下图所示&#xff09; 其中链表里每一个节点的结构分为&…

PyQt5开发笔记:2. 2D与3D散点图、水平布局和边框修饰

一、装pyqtgraph和PyOpenGL库 pip install pyqtgraph pip install PyOpenGL 注意&#xff1a;一定不要pip install OpenGL&#xff0c;否则会找不到 二、3D散点图效果 import pyqtgraph as pg import pyqtgraph.opengl as gl import numpy as np# 创建应用程序 app pg.mkQ…

【计算机组成原理 | 第二篇】计算机硬件架构的发展

目录 前言&#xff1a; 冯诺依曼计算机架构 现代计算机架构&#xff1a; 总结&#xff1a; 前言&#xff1a; 在当今数字化时代&#xff0c;计算机硬件不仅是技术进步的见证者&#xff0c;更是推动这一进步的基石。它们构成了我们日常生活中不可或缺的数字生态系统的核心&a…

数据失踪了?小米手机数据恢复并不难,3个方法就能搞定

手机数据就如同我们的“数字生命线”&#xff0c;一旦失去&#xff0c;便仿佛陷入了一片数据的荒漠&#xff0c;感到无助与迷茫。小米手机用户们&#xff0c;你是否曾遭遇过这样的困境&#xff1a;打开手机&#xff0c;却发现重要的照片、联系人、短信等数据不见了&#xff0c;…