专栏首页强仔仔官方mycat安装入门教程

官方mycat安装入门教程

一.环境介绍

1.1. mysql节点1环境

  • 操作系统版本 : centos6.5 x64
  • 数据库版本 : mysql-5.7.4
  • mycat版本 :1.3 release
  • 数据库名 : db1
  • hostname:c1
  • ip:192.168.58.11

1.2. mysql节点2环境

  • 操作系统版本 : centos6.5 x64
  • 数据库版本 : mysql-5.7.4
  • mycat版本 :1.3 release
  • 数据库名 : db2
  • hostname:c2
  • ip:192.168.58.12

1.3.mycat环境

安装在c1

1.4. 前提条件

两个节点都安装好mysql5.7.4

二.安装mycat

2.1.创建用户及组

root >

创建一个新的group

groupadd dba

创建一个新的用户,并加入group

  useradd -g dba mycat

给新用户设置密码,

  passwd mycat

2.2.解压

mycat >

tar -xzvf Mycat-server-1.3.0.3-release-20150527095523-linux.tar.gz
mkdri /home/mycat/app
mv mycat /home/mycat/app/mycat

2.3.设置环境变量

vim /home/mycat/.bash_profile

export MYCAT_HOME=/home/mycat/app/mycat
PATH=$PATH:$MYCAT_HOME/bin

令修改生效

[mycat@c1 ~]$ source .bash_profile

测试是否配置成功

[mycat@c1 ~]$ echo $MYCAT_HOME
/home/mycat/app/mycat

2.4.修改wrapper.conf文件

cd /usr/local/mycat/conf vim wrapper.conf

# Java Application
wrapper.java.command=wrapper.java.command=/usr/local/java/jdk1.7.0_67/bin/java

2.5.启动mycat

启动: mycat start mycat 就已经启动了 端口8066 关闭mycat: mycat stop

三、配置mycat

3.1 my.cnf追加一行

vim /etc/my.cnf

lower_case_table_names = 1

如果找不到my.cnf文件,copy一个: cp /usr/share/mysql/my-default.cnf /etc/my.cnf

3.2配置schema

vim $MYCAT_HOME/conf/schema.xml 每个属性的含义请参考权威指南,这里给出基本的

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

	<schema name="JamesMycatSchema" checkSQLschema="false" sqlMaxLimit="100">
		<!-- 需要分片的表,在节点dn1,dn2上分片,分片规则是auto-sharding-long -->
		<table name="travelrecord" dataNode="dn1,dn2" rule="auto-sharding-long" />
        <table name="company" primaryKey="ID" type="global" dataNode="dn1,dn2" />
		<table name="goods" primaryKey="ID" type="global" dataNode="dn1,dn2" />
        <table name="hotnews" primaryKey="ID" dataNode="dn1,dn2"
			rule="mod-long" />
		<table name="employee" primaryKey="ID" dataNode="dn1,dn2"
			rule="sharding-by-intfile" />
	</schema>
	<!--数据节点dn1,对应的主机c1,对应是数据库db1 -->
    <dataNode name="dn1" dataHost="c1" database="db1" />
	<dataNode name="dn2" dataHost="c2" database="db2" />
	<!-- 主机C1-->
	<dataHost name="c1" maxCon="1000" minCon="10" balance="0"
		writeType="0" dbType="mysql" dbDriver="native">
		<heartbeat>select user()</heartbeat>
		<!--mysql数据库的连接串 -->
		<writeHost host="hostM1" url="c1:3306" user="mycat"
			password="mycat">
		</writeHost>
	</dataHost>
	<!-- 主机C2-->
	<dataHost name="c2" maxCon="1000" minCon="10" balance="0"
		writeType="0" dbType="mysql" dbDriver="native">
		<heartbeat>select user()</heartbeat>

		<writeHost host="hostM2" url="c2:3306" user="mycat"
			password="mycat">
		</writeHost>
	</dataHost>
</mycat:schema>

3.3 配置server.xml 追加:

<!-- 为mycat配置一个用户 -->
<user name="cat">
		<property name="password">cat</property>
		<property name="schemas">JamesMycatSchema</property>
	</user>

四.测试

这里使用mycat自带的表来测试 启动mycat: mycat start 使用Navicat for MySQL连接mycat: cat/cat@192.168.58.11

建表:

create table employee (id int not null primary key,name varchar(100),sharding_id int not null);

插入数据:

insert into employee(id,name,sharding_id) values(1,'leader us',10000);
insert into employee(id,name,sharding_id) values(2, 'me',10010);
insert into employee(id,name,sharding_id) values(3, 'mycat',10000);
insert into employee(id,name,sharding_id) values(4, 'mydog',10010);

分别到数据DB1,DB2查看,可以看到在DB1中有: 1 leader us 10000 3 mycat 10000 DB2中有: 2 me 10010 4 mydog 10010

这说明分片成功了

林老师带你学编程https://wolzq.com

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • docker中安装mycat

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    林老师带你学编程
  • 利用mycat实现mysql读写分离

    实现mysql读写分离的工具有很多种,我这里就介绍mycat这一种方式。其它的大家有兴趣可以自己去了解。 第一步:首先就是mycat的安装: 这个地址就可以下载...

    林老师带你学编程
  • 利用JQuery实现从底部回到顶部的功能

    今天给大家介绍一下如何利用JQuery实现从任意地方返回顶部的功能,现在大部分网站因为篇幅比较长,所以都会设置这么一个按钮,利用这个按钮可以实现从底部返回顶部的...

    林老师带你学编程
  • Mycat - 高可用与负载均衡实现,满满的干货!

        和朋友去吃小龙虾,隔壁桌一个小女孩问妈妈:"妈妈,小龙虾回不了家,它妈妈会不会着急?" 她妈妈愣住了,我扒虾的手停下了,这么善良的问题,怎么下得了口。这...

  • 分库分表,读写分离后,数据库中间件扮演了一个怎样的角色?

    前面一篇文章图解分布式系统架构(看推荐阅读)大概讲了一下分库分表,以及读写分离出现的场景,分库分表为了解决高并发和海量数据的问题。

    Java识堂
  • 快速体验MyCAT

    横空出世的MyCat截至到2015年4月,保守估计已经有超过60个项目在使用,主要应用在电信领域、互联网项目,大部分是交易和管理系统,少量是信息...

    Leshami
  • crontab并发文件锁的使用

    前几天在做任务时间调度的时候,写了一个Shell脚本,是通过脚本来操作corntab的配置,在修改之前会做备份,文件是crontab_bak_file,然后...

    jeanron100
  • Android 亮度自动调节

    下拉状态栏有个亮度的进度条,如果开启了亮度自动调节开关,会随着周围光线变化,这个进度条也会随着变化,接下来就是看看这个功能是如何实现的。

    吴小龙同學
  • 分布式图数据库 Nebula RC2 发布:增强了 CSV Importer 功能

    本次 RC2 主要新增 GO FROM ... REVERSELY 和 GROUP BY 等语句,Storage Engine 也更灵活,用户可以通过 Cons...

    NebulaGraph
  • Tomcat spring boot 项目启动慢的问题

    首先我们要做的是删除掉 webapps 文件夹下不需要的工程,一般是 host-manager、example、doc 等这些默认的工程,可能还有以前添加的但现...

    良辰美景TT

扫码关注云+社区

领取腾讯云代金券