前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mycat1.6.7.6安装与启动

Mycat1.6.7.6安装与启动

作者头像
itze
发布2022-10-31 16:19:15
1.6K0
发布2022-10-31 16:19:15
举报
文章被收录于专栏:IT者IT者

环境

  • 操作系统:CentOS 7
  • Mycat版本:Mycat1.6.7.6

下载

首先下载Mycat的压缩包,Mycat1官网:http://www.mycat.org.cn/mycat1.html Mycat1.6.7.6官网下载地址:http://dl.mycat.org.cn/1.6.7.6/ 找到最新日期的下载即可

安装

将下载好的压缩包,上传至服务器解压即可,无须编译安装 解压

代码语言:javascript
复制
tar -zxvf Mycat-server-1.6.7.6-release-linux.tar.gz(名字改成自己下载的压缩包名称)

修改配置

涉及到需要修改的配置文件 – server.xml:定义用户以及系统相关变量,如端口等 – schema.xml:定义逻辑库,表、分片节点等内容 1. 修改配置文件server.xml

代码语言:javascript
复制
    <user name="mycat" defaultAccount="true">       <!-- mycat登陆用户名 -->
        <property name="password">123456</property> <!-- mycat登陆密码 -->
        <property name="schemas">TESTDB</property>  <!-- mycat连接逻辑库 -->
        <property name="defaultSchema">TESTDB</property>  <!-- mycat连接逻辑库 -->
    </user>

配置解释 – user name=”mycat”:通过Mycat服务连接Mysql服务的用户名,可随意修改 – name=”schemas”:Mycat的逻辑库TESTDB,可随意修改 2. 修改配置文件 schema.xml

代码语言:javascript
复制
<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

    <schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" randomDataNode="dn1" dataNode="dn1">

    </schema>
    <dataNode name="dn1" dataHost="host1" database="testdb" />

    <dataHost name="host1" maxCon="1000" minCon="10" balance="0"
              writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <!-- can have multi write hosts -->
        <writeHost host="hostM1" url="jdbc:mysql://127.0.0.1:3306" user="root"
                   password="123456">
        </writeHost>
    </dataHost>
</mycat:schema>

标签解释

schema
  • name:对应Server.xml中配置的逻辑库名TESTDB
  • checkSQLschema:当该值设置为true时,如果我们执行语句select * from TESTDB.travelrecord;则MyCat会把语句修改为select * from travelrecord;即把表示schema的字符去掉,避免发送到后端数据库执行时报(ERROR 1146 (42S02): Table ‘testdb.travelrecord’ doesn’t exist)。不过,即使设置该值为 true ,如果语句所带的是并非是schema指定的名字,例如:select * from db1.travelrecord; 那么MyCat并不会删除db1这个字段,如果没有定义该库的话则会报错,所以在提供SQL语句的最好是不带这个字段。
  • sqlMaxLimit:当该值设置为某个数值时。每条执行的SQL语句,如果没有加上limit语句,MyCat也会自动的加上所对应的值。例如设置值为100,执行select * from TESTDB.travelrecord;的效果为和执行select * from TESTDB.travelrecord limit 100;相同设置该值的话,MyCat默认会把查询到的信息全部都展示出来,造成过多的输出。所以,在正常使用中,还是建议加上一个值,用于减少过多的数据返回。当然SQL语句中也显式的指定limit的大小,不受该属性的约束。需要注意的是,如果运行的schema为非拆分库的,那么该属性不会生效。需要手动添加limit语句。
  • randomDataNode和dataNode:同时存在,指定默认存储节点,比如建表默认会创建到该节点下
dataNode
  • name:节点名称,可随意填写
  • dataHost:对应dataHost标签中name属性值
  • database:真实Mysql服务中创建的数据库名称
dataHost
  • name:主机名称,可随意填写
  • maxCon:指定每个读写实例连接池的最大连接。也就是说,标签内嵌套的writeHost、readHost标签都会使用这个属性的值来实例化出连接池的最大连接数。
  • minCon:指定每个读写实例连接池的最小连接,初始化连接池的大小。
  • balance:负载均衡类型,目前的取值有3种: balance=”0″, 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。 balance=”1″,全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且M1与 M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡。balance=”2″,所有读操作都随机的在writeHost、readhost上分发。balance=”3″,所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力,注意balance=3只在1.4及其以后版本有,1.3没有。
  • writeType:负载均衡类型,目前的取值有3种:writeType=”0″, 所有写操作发送到配置的第一个writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准,切换记录在配置文件中:dnindex.properties,writeType=”1″,所有写操作都随机的发送到配置的writeHost,1.5以后废弃不推荐。switchType属性 1 表示不自动切换。 1 默认值,自动切换。 2 基于MySQL主从同步的状态决定是否切换。
  • dbType:指定后端连接的数据库类型,目前支持二进制的mysql协议,还有其他使用JDBC连接的数据库。例如:mongodb、oracle、spark等。
  • dbDriver:指定连接后端数据库使用的Driver,目前可选的值有native和JDBC。使用native的话,因为这个值执行的是二进制的mysql协议,所以可以使用mysql和maridb。其他类型的数据库则需要使用JDBC驱动来支持。从1.6版本开始支持postgresql的native原始协议。 如果使用JDBC的话需要将符合JDBC 4标准的驱动JAR包放到MYCAT\lib目录下,并检查驱动JAR包中包括如下目录结构的文件:META-INF\services\java.sql.Driver。在这个文件内写上具体的Driver类名,例如:com.mysql.jdbc.Driver。
  • switchType: -1 表示不自动切换 1 默认值,自动切换 2 基于MySQL主从同步的状态决定是否切换 心跳语句为 show slave status 3 基于MySQL galary cluster的切换机制(适合集群)(1.4.1) 心跳语句为 show status like ‘wsrep%’
heartbeat

这个标签内指明用于和后端数据库进行心跳检查的语句。例如,MYSQL可以使用select user(),Oracle可以使用select 1 from dual等。 这个标签还有一个connectionInitSql属性,主要是当使用Oracla数据库时,需要执行的初始化SQL语句就这个放到这里面来。例如:alter session set nls_date_format=’yyyy-mm-dd hh24:mi:ss'(把这里的中文冒号改为英文冒号),1.4主从切换的语句必须是:show slave status

启动

mycat启动相关命令,要先cd 到mycat\bin\路径下 linux 环境为:

代码语言:javascript
复制
./mycat start 启动
./mycat stop 停止
./mycat console 前台运行
./mycat restart 重启服务
./mycat pause 暂停
./mycat status 查看启动状态

window 启动为: 直接双击运行 startup_nowrap.bat ,如果闪退用 cmd 模式运行查看日志 建议先使用前台运行,便宜查看运行情况

登陆

登陆前提,需要机器装有Mysql服务环境,Mycat默认服务端口8066,后台维护端口9066 登陆数据窗口

代码语言:javascript
复制
mysql -umycat -p123456 -P8066 -h127.0.0.1(换成Mycat服务安装机器IP)

执行一下命令,查看,注意TESTDB是Server.xml中配置的逻辑库名称

代码语言:javascript
复制
show database;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年1月17日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 下载
  • 安装
  • 修改配置
    • 标签解释
      • schema
      • dataNode
      • dataHost
      • heartbeat
  • 启动
  • 登陆
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档