• mycat快速搭建入门


    mycat是一个数据库中间件,在此不做多介绍,今天我们直接上入门级的搭建demo。

    1. 本例子用的是两台mysql数据库

    2. 搭建mycat环境之前确保自己的机器上已经安装了djk1.7及以上虚拟机,因为mycat是Java写的中间件,需要Java运行环境。mysql数据支持5.6及更高版本,需要提前安装好。

    3. 假设以上两个条件已经满足(以上环境未搞定,到此结束吧,别往下玩了!),那我们开始进入操作阶段:

    下载

    到改地址 https://github.com/MyCATApache/Mycat-download 下载与自己机器对应的版本,我的机器数Unix。所以下载的是 Mycat-server-1.6-RELEASE-20161028204710-mac.tar.gz

    安装

    下载完成后直接解压文件即可。

    配置mycat与实体数据库的关系

    运行vm参数配置

    根据自己机器的实际情况配置就好:

    wrapper.java.additional.1=-DMYCAT_HOME=.
    wrapper.java.additional.2=-server
    wrapper.java.additional.3=-XX:MaxPermSize=64M
    wrapper.java.additional.4=-XX:+AggressiveOpts
    wrapper.java.additional.5=-XX:MaxDirectMemorySize=1024M
    wrapper.java.additional.6=-Dcom.sun.management.jmxremote
    wrapper.java.additional.7=-Dcom.sun.management.jmxremote.port=1984
    wrapper.java.additional.8=-Dcom.sun.management.jmxremote.authenticate=false
    wrapper.java.additional.9=-Dcom.sun.management.jmxremote.ssl=false
    wrapper.java.additional.10=-Xmx100M
    wrapper.java.additional.11=-Xms100M
    

    server.xml 用户权限配置

    <property name="serverPort">8066</property>
    <property name="useZKSwitch">false</property>
    <property name="defaultSqlParser">druidparser</property>
    <user name="root">
    	<property name="password">123456</property>
    	<property name="schemas">dev,testDB</property>
    </user>
    
    <user name="user">
    	<property name="password">user</property>
    	<property name="schemas">test_user</property>
    </user>
    

    mycat默认端口是8806,不使用zk方式链接,本次实验用了两台MySQL数据库,一台本机的数据库用户名直接用root并指定只有dev、testDB两个schema,另外一台是远程机器的数据库,用了user用户并指定只能操作test_user这个schema。

    schema.xml

    <?xml version="1.0"?>
    <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
    <mycat:schema xmlns:mycat="http://io.mycat/">
    	<schema name="dev" checkSQLschema="false" sqlMaxLimit="100" dataNode="dev"></schema>
    	<schema name="testDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="testDB"></schema>
    	<schema name="test_user" checkSQLschema="false" sqlMaxLimit="100" dataNode="test_user"> </schema>
    	<dataNode name="dev" dataHost="localhost1" database="dev" />
    	<dataNode name="testDB" dataHost="localhost1" database="testDB" />
    	<dataNode name="test_user" dataHost="remote" database="test_user" />
    	<dataHost name="localhost1" maxCon="100" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
    		<heartbeat>select 1</heartbeat>
    		<writeHost host="hostS1" url="localhost:3306" user="root" password="123456" />
    	</dataHost>
    		<dataHost name="remote" maxCon="100" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
    		<heartbeat>select 1</heartbeat>
    		<writeHost host="hostS1" url="192.1168.0.101:3306" user="user" password="user" />
    	</dataHost>
    </mycat:schema>
    

    rule.xml

    改配置是分片规则的配置,在这次简单入门中我们暂时不做分片规则处理。以后有时间再补上。

    以上配置好之后,启动mysql。然后进入mycat安装目录下的bin目录中,启动mycat服务。

    ./mycat start 启动
    
    ./mycat stop 停止
    
    ./mycat console 前台运行
    
    ./mycat install 添加到系统自动启动(暂未实现)
    
    ./mycat remove 取消随系统自动启动(暂未实现)
    
    ./mycat restart 重启服务
    
    ./mycat pause 暂停
    
    ./mycat status 查看启动状态
    
    

    运行启动脚本我们可以查看日志是否启动成功:

    tail -f logs/wrapper.log
    

    启动成功后我们链接mycat:

    mysql -uroot -p123456 -h127.0.0.1 -P8806
    

    链接上之后就跟mysql操作相同的了。到此已经完美。

  • 相关阅读:
    codeforces 632F. Magic Matrix
    codeforces 632D. Longest Subsequence 筛法
    移动端项目开发需要注意的问题
    input框、按钮组间的去除空格的解决方案
    radio 和checkbox与文字对齐问题
    怎样设置webstorm localhost为本地ip
    The number of steps(概率dp)
    C++ 面试常见问题
    禅者初心
    Hope
  • 原文地址:https://www.cnblogs.com/wolf-bin/p/8732602.html
Copyright © 2020-2023  润新知