mycat安装

本文详细介绍了Mycat的安装过程,包括JDK安装、Mycat解压、创建用户、配置wrapper.conf以及启动Mycat。此外,还涉及了通过Mycat远程连接数据库的步骤和Mycat的主要配置文件,如Schema.xml、Server.xml、rule.xml和log4j.xml的用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 安装JDK

# yum -y install java-1.7.0-openjdk

#/usr/bin/java -version

java version "1.7.0_85"

OpenJDK Runtime Environment (rhel-2.6.1.2.el7_1-x86_64 u85-b01)

OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode)

 

2. 解压mycat

在/usr/local/下解压

#tar zxvf Mycat-server-1.4-RC-20150729000032-linux.tar.gz

#rm Mycat-server-1.4-RC-20150729000032-linux.tar.gz

 

3. 增加mycat用户

#useradd mycat

# chown -R mycat:mycat /usr/local/mycat  #授权

# passwd mycat

New password: 123456

BAD PASSWORD: The password is shorter than 8 characters

Retype new password: 123456

passwd: all authentication tokens updated successfully.

 

4. 调整wrapper.conf参数默认值

为防止后面mycat启动出错,暂时不调整。

[root@mariadb-10000 opt]# vi /usr/local/mycat/conf/wrapper.conf

# Java Application

wrapper.java.command=/usr/bin/java

 

# Java Additional Parameters

wrapper.java.additional.5=-XX:MaxDirectMemorySize=1G

 

# Initial Java Heap Size (in MB)

#wrapper.java.initmemory=3

wrapper.java.initmemory=1024

 

若启动报内存不够,可以试着将上述内存都改小,改为1G或512M

 

5. 启动mycat

#/usr/local/mycat/bin/mycat start

# /usr/local/mycat/bin/mycat status

#/usr/local/mycat/bin/mycat stop

 

6. 通过Mycat远程连接数据库

#mysql –uroot –p

>use mysql;

> update user set host='%' where host='127.0.0.1';

为了安全起见,host=‘%’可以指定IP地址登录

 

> UPDATE user SET password=PASSWORD('123456') WHERE user='root';

为了安全起见,password设置复杂

> select host,user from user;

> FLUSH PRIVILEGES; #更新权限

 

【>SHOW VARIABLES LIKE 'character%';

退出

 

# vi /etc/my.cnf

添加如下内容:

[mysqld]

character-set-server=utf8

lower_case_table_names = 1】

 

如果mysql出现乱码,执行以上步骤

 

7. Mycat的配置文件

1)        Schema.xml

<schema name=”mycat” checkSQLschema=”true/false” sqlMaxLimit=”100” dataHost=“dn1”>

</schema>逻辑库的配置,自定义库名,可以默认数据节点(不分片),默认之后逻辑表中就不用写dataHost

 

<table name=”company” primaryKey=”ID” type=”global” dataNode=”dn1,d2,dn3” rule=”auto-sharding-long” >

</table>逻辑表名必须与数据库中的表名相同,一些表相关配置,全局表,表的分片规则等,分片节点自定

 

<dataNode name="dn1" dataHost="localhost1" database="db1" />

<dataNode name="dn2" dataHost="localhost1" database="db2" />

<dataNode name="dn3" dataHost="localhost1" database="db3" />

<dataHost name="localhost1" maxCon="1000" minCon="10"balance="1" writeType="0" dbType="mysql" dbDriver="native" switchType=”2” slaveThreshold=“100”>

</dataHost>分片节点和主机,主机名可自定义,database必须在mysql中有对应的数据库,最大最小连接数,balance="1" writeType="0"决定读写分离,switchType=”2” slaveThreshold=“100”,决定主备切换。多个分片节点可以在一个数据库上

 

<heartbeat>select user()</heartbeat>心跳检测,用来主备切换

 

<writeHost host="hostM1" url="192.168.137.12:3306" user="root" password="123456">

<readHost host="hostS1" url="192.168.137.20:3306" user="root" password="123456" />

<writeHost host="hostS1" url="192.168.137.31:3306" user="root" password="123456">

</writeHost>默认第一个writeHost为主服务,第二个writeHost为备,readHost为读库,读写分离的操作要在mysql中设置。

 

2)        Server.xml

访问MyCAT的用户账号和授权信息是在/usr/local/mycat/conf/server.xml文件中配置。

<system>

<property name="defaultSqlParser">druidparser</property>

<!--<property name="processorBufferChunk">40960</property> -->

<property name="processors">1</property>

<property name="processorExecutor">32</property>

                   <!--默认是65535 64K 用于sql解析时最大文本长度 -->

                   <!--<property name="maxStringLiteralLength">65535</property> -->

                   <!--<property name="sequnceHandlerType">0</property> -->

                   <!--<property name="backSocketNoDelay">1</property> -->

                   <!--<property name="frontSocketNoDelay">1</property> -->

                   <!--<property name="processorExecutor">16</property> -->

                   <!-- <property name="mutiNodeLimitType">1</property> 0:开启小数量级(默认) ;1:开启亿级数据排序

<property name="mutiNodePatchSize">100</property> 亿级数量排序批量 <property name="processors">32</property>

<property name="processorExecutor">32</property> <property name="serverPort">8066</property>

<property name="managerPort">9066</property> <property name="idleTimeout">300000</property>

<property name="bindIp">0.0.0.0</property> <property name="frontWriteQueueSize">4096</property>

<property name="processors">32</property> -->

</system>

 

<user name="test">

                   <property name="password">test</property>

                   <property name="schemas">TESTDB</property>

         </user>

 

         <user name="user">

                   <property name="password">user</property>

                   <property name="schemas">TESTDB</property>

                   <property name="readOnly">true</property>

         </user>

 

3)        rule.xml

配置分片规则,目前还没研究

 

 

4)        log4j.xml

日志配置文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值