首页 > 其他分享 >mycat搭建

mycat搭建

时间:2022-10-31 17:22:06浏览次数:50  
标签:java jdk mycat master mysql root 搭建

搭建mycat

一、准备工作

1、确保jdk已安装成功,并且jdk版本选用1.7以上版本

2、准备一台新的主机mysql_mycat放到master的前面做代理

mycat ip 192.168.232.13

3、将三台机器互做本地解析

192.168.232.11 mysql_master
192.168.232.12 mysql_slave1
192.168.232.13 mysql_slave2
192.168.232.14 mysql_mycat

架构:
image

二、下载安装mycat

我们通过本地上传mycat包来安装mycat

[root@mysql_mycat ~]# tar xf Mycat-server-1.6.5-release-linux.tar.gz -C /usr/local/

cd 到/usr/local目录下,多了一个mycat文件夹

三、编辑配置文件

[root@mysql_mycat conf]# cd mycat/conf

[root@mysql_mycat conf]# vim server.xml

1.server.xml

<user name="mycat" defaultAccount="true">
                <property name="password">Qf@12345!</property>
                <property name="schemas">testdb</property>

                <!-- 表级 DML 权限设置 -->
                <!--            
                <privileges check="false">
                        <schema name="TESTDB" dml="0110" >
                                <table name="tb01" dml="0000"></table>
                                <table name="tb02" dml="1111"></table>
                        </schema>
                </privileges>           
                 -->
        </user>
        <!--只读用户-->
        <user name="mycat_read">
                <property name="password">Qf@12345!</property>
                <property name="schemas">TESTDB</property>
                <property name="readOnly">true</property>
        </user>

2.编辑schema.xml
[root@mysql_mycat conf]# vim schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

	<schema name="testdb" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>
	
	<dataNode name="dn1" dataHost="localhost1" database="testdb"/>

	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="3" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>

		<writeHost host="mysql_master" url="192.168.232.11:3306" user="mycat" password="Qf@12345!" >
			<readHost host="mysql_slave1" url="192.168.232.12:3306" user="mycat" password="Qf@12345!" />
		</writeHost>
	</dataHost>
</mycat:schema>

注意:一定要严格遵守标签开始和结尾格式,否则会报错导致mycat启动后自动关闭

3.在mysql_mycat上创建库

mysql> create database testdb;

mysql> use testdb;

mysql> create table testdb.t1(id int);

mysql> insert into testdb.t1 values(1);

4.在master上给用户授权

[root@mysql_master ~]# mysql -uroot -p

mysql> grant all on testdb.* to mycat@'%' identified by 'Qf@12345!';

mysql> flush privileges;

5.在mycat机器上测试mycat用户登录master

[root@mysql_mycat ~]# mysql -umycat -p'Qf@12345!' -h mysql_master

登录上之后不进行任何操作,直接退出

6.在wrapper.conf中添加

[root@mycat mycat]# cd conf/

[root@mysql_mycat conf]# vim wrapper.conf #在设置JVM哪里添加如下内容

wrapper.startup.timeout=300 //超时时间300秒

启动:

[root@mysql_mycat mycat]# bin/mycat start
Starting Mycat-server...
[root@mysql_mycat mycat]# jps
3814 Jps
3801 WrapperSimpleApp

再次启动jps查看,如果进程丢失一个,则是因为jdk版本问题,更换jdk

四、卸载重新安装jdk

1.卸载原有jdk版本

[root@mysql_mycat mycat]# java -version

查看jdk所有包

[root@mysql_mycat ~]# rpm -qa | grep openjdk

卸载:[root@mysql_mycat ~]# rpm -qa | grep openjdk |xargs rpm -e --nodeps

再查看:[root@mysql_mycat ~]# rpm -qa | grep openjdk

发现jdk已全部删除

2.安装新jdk1.8

(1)从本地上传jdk文件压缩包
image
(2)解压缩

[root@mysql_mycat ~]# tar xzf jdk-8u162-linux-x64.tar.gz -C /usr/local/

[root@mysql_mycat ~]# cd /usr/local/

[root@mysql_mycat local]# mv jdk1.8.0_162/ java

(3)设置环境变量

[root@mysql_mycat ~]# vim /etc/profile
export JAVA_HOME=/usr/local/java
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
然后使之生效:
[root@mysql_master local]# source /etc/profile

(4)查看java版本

[root@mysql_mycat ~]# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

五、开启mycat

[root@mysql_mycat mycat]# bin/mycat start
[root@mysql_mycat mycat]# jps
7173 WrapperSimpleApp
7189 Jps
查看8066端口
[root@mysql_mycat ~]# netstat -lntp | grep java

(1)将master当做mycat的客户端

[root@mysql_master ~]# mysql -umycat -hmysql_mycat -p'Qf@12345!' -P 8066

六、常见问题

1.在master上登录:mysql -umycat -hmysql_mycat -p'Qf@12345!' -P 8066
2.若出现连接失败,大概率是mycat未启动
3.cd到/mycat/bin/mycat目录,start启动
4.查看jps,有两个进程,启动成功
5.多行注释:
<![CDATA[---内容---]]>
6.mycat配置的密码是Qf@12345!
7.插入数据操作在mycat端

七、show tables报错

如果在show table报错:
mysql> show tables;
ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0
解决方式:
登录master服务将mycat的登录修改为%
mysql> update user set Host = '%' where User = 'mycat' and Host = 'localhost';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> flush privileges;
或者在授权用户mycat权限为*.*

标签:java,jdk,mycat,master,mysql,root,搭建
From: https://www.cnblogs.com/qsmm/p/16844836.html

相关文章

  • 使用kubeadm搭建kubernetes1.24.3版本
    一、机器环境3台4C8G50GB磁盘虚拟机角色IP主机名master10.101.14.148k8s-master-10-101-14-148node10.101.14.19node1-10-101-14-19node10.101.14.192node2-10-101-14-192二......
  • 二、.Net Core搭建Ocelot
    Ocelot是系统中对外暴露的一个请求入口,所有外部接口都必须通过这个网关才能向下游API发出请求1、Nuget引用Ocelot(注意版本,我用的是16.0.1)2、根目录添加配置文件Ocelot.js......
  • ssm框架的环境搭建(公开版)
    目录​​1.新建项目​​​​建立步骤​​​​创建包结构:​​​​2.jar的准备​​​​pom.xml​​​​3.准备静态资源​​​​itemEdit.jsp:​​​​itemList.jsp:​​​​web.......
  • Hadoop搭建的时候,安装包编译为什么要编译?
    cdh版本编译 jar下载问题。因为官方只提供源码包 需要自己编译。软件运行某些特性跟操作系统相关 结合具体操作系统编译符合它版本的软件。修改源码中某些属性。编译......
  • Windows系统搭建基于k8s开发所需本地集群环境
    安装DockerDesktop去官网下载,新版已经比前几年好用多了安装前要去windows功能里边开启Hyper-V和适用于Linux的Windows子系统若安装完,启动显示乱码,打开管理员shell,执行......
  • Selenium3自动化测试实战--第2章 测试环境搭建
    2.1安装Python官网:www.python.org因为我使用的是Windows,所以直接下载,然后安装就好。现在最新版本是Python3.11.0。但我的电脑之前安装过Python重新安装最新的Python3......
  • 【保姆教程】RuoYi-Radius搭建实现portal认证
    【保姆教程】RuoYi-Radius搭建实现portal认证一、简介以若依后台管理框架V4.6.0做为基础框架,实现了ToughRADIUS大部分功能,支持标准RADIUS协议(RFC2865,RFC2866),提供完整......
  • Docker搭建本地私有仓库
    1、下载registry镜像dockerpullregistry   2、在daemon.json文件中添加私有镜像仓库地址并重启vim/etc/docker/daemon.json{"registry-mirrors":["h......
  • 【Vue】从零搭建一个Vue项目
    一、项目创建1、打开命令行窗口Cd/d进入想要创建项目的位置,输入vuecreate项目名编辑2、选择Vue2编辑3、运行该项目编辑4、创建成功编辑 在浏览器中输入以上网址:localhos......
  • vue-cil搭建vue
    搭建vue-cil脚手架需要node.js环境去官网下载node.js  win系统cmdnode-v查看当前版本npminstallcnpm-g或者npminstall--registry=https://registry.npm.taoba......