mycat一 (安装与环境变量配置)

1、下载JDK,下载Java SE 8u231

https://www.oracle.com/technetwork/java/javase/downloads/index.html 

2、解压到指定目录

tar zxvf xxx.tar.gz  -C /usr/local/ 

3、配置环境变量

vi /etc/profile 

export JAVA_HOME=/usr/java/jdkxxxx

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

立即生效source /etc/profile 

4、下载mycat

https://github.com/MyCATApache/Mycat-download 

5、配置环境变量 

vi /etc/profile

export MYCAT_HOME=/usr/local/mycat

立即生效source /etc/profile 

6、修改mysql配置文件

[mysqld]

下面加入 lower_case_table_names = 1

#忽略大小写

重启MYSQL服务器

7、启动mycat

./mycat start 

./mycat status

./mycat stop

./mycat restart

以控制台方式启动

./mycat console 

8、mycat配置文件

   1. Server.xml

           定义系统参数和授权 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mycat:server SYSTEM "server.dtd">
<mycat:server xmlns:mycat="http://io.mycat/">
	<system>
	<property name="defaultSqlParser">druidparser</property>	
	</system>
	<!-- name是用户连接mycat的账号 -->
	<user name="mycat_god">
		<property name="password">123</property>
		<!-- scheams 是对应schema.xml中对应的schemas标签的名称 -->
		<property name="schemas">shenyi</property>
	</user>

	<user name="mycat_dog">
		<property name="password">123</property>
		<property name="schemas">shenyi</property>
		<!-- 只读 -->
		<property name="readOnly">true</property>
	</user>
	<!-- 
	<quarantine> 
	   <whitehost>
	      <host host="127.0.0.1" user="mycat"/>
	      <host host="127.0.0.2" user="mycat"/>
	   </whitehost>
       <blacklist check="false"></blacklist>
	</quarantine>
	-->

</mycat:server>

            

   2. schema.xml

          定义逻辑库、表、分片节点

           Schema节点 :逻辑库(好比数据库),在里面需要定义对各个表的“规则”

           dataNode节点:数据节点。上面的逻辑库和这个dataNode要进行绑定

           dataHost:数据库配置。dataNode节点和其进行绑定

           以上三者互绑

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

	<schema name="shenyi" checkSQLschema="false" sqlMaxLimit="100">
		<!-- auto sharding by id (long) -->
		<!--<table name="travelrecord" dataNode="dn1" rule="auto-sharding-long" />-->
	    <!-- name是实际数据库表的表名  primaryKey是这个表的主键 type是全局表暂时忽略 dataNode表示从这些节点读取 -->
		 <table name="news_main" primaryKey="news_id"  type="global" dataNode="dn1,dn2" />
		 
		 
	</schema> 
	<!-- name是node的名称 dataHost对应dataHost标签 database是实际的数据库名称 -->
	<dataNode name="dn1" dataHost="localhost1" database="jtthink" />
	<dataNode name="dn2" dataHost="localhost2" database="jtthink" />

	<!-- name是dataHost的名称 maxCon最大连接数 balance负载均衡策略  -->
	<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
		writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<!-- 心跳 -->
		<heartbeat>select user()</heartbeat>
		<!-- can have multi write hosts -->
		<!-- host随便起,url是实际数据库地址 user是实际数据库账号 password是实际数据库密码 -->
		<writeHost host="hostM1" url="192.168.1.108:3306" user="root"
			password="123123">
		</writeHost>
 
	</dataHost>
	<dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
		writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
		<heartbeat>select user()</heartbeat>
		<!-- can have multi write hosts -->
		<writeHost host="hostM1" url="192.168.1.101:3306" user="root"
			password="123">
		</writeHost>
		 
	</dataHost>
	 
</mycat:schema>

   3.rule.xml

         定义分片规则等

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章