MyCat 部署

MyCat Nicholas 2018-11-28 288浏览
相关标签: MyCat

image.png

1、安装 JAVA 环境,必须是 JDK7 或更高版本

yum search JDK
yum install java-1.7.0
java -version
    java version "1.7.0_95"
    OpenJDK Runtime Environment (rhel-2.6.4.0.el6_7-x86_64 u95-b00)
    OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode)

2、系统环境

cat /etc/hosts
    127.0.0.1   lx18 localhost
    192.168.1.18 lx18
    192.168.1.195 wynet1-app195

3、下载 MyCAT,解压

    https://github.com/MyCATApache/Mycat-download/blob/master/1.5-RELEASE/Mycat-server-1.5-RELEASE-20160301083012-linux.tar.gz

tar zxvf Mycat-server-1.5-RELEASE-20160301083012-linux.tar.gz
mv mycat /usr/local/

4、修改mycat 配置文件,单单配置读写分离的话,只配置 conf/ 下两个文件: server.xml 和 schema.xml

4.1 配置 server.xml

<user name="test_rw"> 
    <property name="password">test_rw</property>
    <property name="schemas">TESTDB</property>
</user>
<user name="test_ro">
    <property name="password">test_ro</property>
    <property name="schemas">TESTDB</property>
    <property name="readOnly">true</property>
</user>

这里配置两个可以来连接的用户:

        用户1 test_rw  密码 test_rw  给予此用户 TESTDB 库的读写权限

        用户2 test_ro  密码 test_ro   授予此用户 TESTDB 库的只读权限

注意:这里的 testdb 不一定是你数据库上的真实库名.可以任意指定.只要和接下来的schema.xml的配置文件中的库名统一即可

4.2 配置 schema.xml 

该文件是分表分库的重要配置文件,此部署文档针对简单的读写分离,所以可以只保留以下配置

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://org.opencloudb/">
    <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
    </schema>
    <dataNode name="dn1" dataHost="dh1" database="mycat1" />
    <dataHost name="dh1" maxCon="1000" minCon="10" balance="2"
        writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <!-- can have multi write hosts -->
        <writeHost host="db195" url="192.168.1.195:3306" user="mycatuser" password="mycatpwd">
            <!-- can have multi read hosts -->
            <readHost host="db18" url="192.168.1.18:3310" user="mycatuser" password="mycatpwd" /> 
        </writeHost>
    </dataHost>
</mycat:schema>

5、启动 MySQL

./mycat console &
    Running Mycat-server...
    wrapper  | --> Wrapper Started as Console
    wrapper  | Launching a JVM...
    jvm 1    | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
    jvm 1    |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
    jvm 1    | 
    jvm 1    | log4j 2016-03-02 18:38:49 [./conf/log4j.xml] load completed.
    jvm 1    | MyCAT Server startup successfully. see logs in logs/mycat.log

6、通过 mycat 来访问

mysql -utest_rw -ptest_rw -P8066 -h192.168.1.195
mysql -utest_ro -ptest_ro -P8066 -h192.168.1.195
    show databases;
        +----------+
        | DATABASE |
        +----------+
        | TESTDB   |
        +----------+

注意:

修改 忽略大小写 my.cnf lower_case_table_names=1 ,否则使用 mycat 时会提示找不到表的错误。

对于一主多从的架构,当主挂掉之后,备库不可读。

官方建议是:M<-->M双主互备,当一个主挂了之后,另外一个顶上去

相关标签: MyCat
相关文章
1. 问题:分表的自增主键重复 现象: 对point_msg_his和broadcast_msg_his表进行了分表操作,该表有自增主键id,分表键使用的是其他字段。 在sqlmap中的insert语句: <!--table insert--> <insert id="insert" parameterClass="pointMsgHisDO" > insert into&nb继续阅读>>
2018-12-01 600浏览 2个赞
分片规则: 1:官方建议是做成MyCAT Cluster  ,但是测试环境中开启两个MyCAT,会有时而连不上的问题; 2:MyCAT 在修改配置文件之后,可以通过 reload @@config ,在不重启的情况下更新配置:比如修改schema.xml  <table /> <dataNode /> <dataHost />,server.xml 。但是在管理端口看不到修改后的配置信息。 3:对节点、表的扩展操作可以执继续阅读>>
2018-11-28 347浏览 0个赞
数据库配置方式: 在数据库中建立一张表,存放sequence 名称(name) sequence 当前值(current-value),步长(increment int 类型每次读取多少个 sequence,假设为 K)等信息 创建全局序列表: CREATE TABLE MYCAT_SEQUENCE     (`name` VARCHAR(50) NOT NULL,    继续阅读>>
2018-11-28 288浏览 0个赞
表 tdate 的数据水平分布在3 个数据库上 新建3个数据库: CREATE DATABASE db1; CREATE DATABASE db2; CREATE DATABASE db3; 每个数据库新建表: CREATE TABLE `tdate` (    `id` INT(11) NOT NULL,   &nbs继续阅读>>
2018-11-28 411浏览 0个赞
水平拆分:通俗来讲就是将大表按行还拆分 在一般的应用系统中,用户表及其密切相关的关联表,可根据“用户表”(eg:t_user)中的“用户ID”(user_id)进行水平切分,并基于MyCAT的E-R关系分片策略将其密切相关的表(eg:t_user_class_rel)也分到对应的库中。 多(2)实例实现水平拆分:192.168.1.195:3306、192.168.1.18:3306 在每个实例上新建库、表: CREATE DATABAS继续阅读>>
2018-11-28 259浏览 1个赞
垂直切分即常说的分库,降低数据库耦合性。可以配置同一个实例下不同库,不同实例下不同库 schema.xml 配置 <?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://org.opencloudb/"> 继续阅读>>
2018-11-28 184浏览 0个赞
1、安装 JAVA 环境,必须是 JDK7 或更高版本 yum search JDK yum install java-1.7.0 java -version     java version "1.7.0_95"     OpenJDK Runtime Environment (rhel-继续阅读>>
2018-11-28 287浏览 2个赞
版权声明
本站的文章和资源来自互联网或者站长的原创。如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。