Mycat是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而Mycat并没有存储引擎,所以并不是完全意义的分布式数据库系统。

安装Java环境,配置全局环境变量

MyCAT是使用JAVA语言进行编写开发,使用前需要先安装JAVA运行环境(JRE),由于MyCAT中使用了JDK7中的一些特性,所以要求必须在JDK7以上的版本上运行。

安装JDK,本文安装版本为jdk-8u101-linux-x64.tar.gz

可以从官网http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html可以下载最新版本。

注意:下载与操作系统对应的版本,以免启动Mycat错误

配置JAVA全局环境变量

export JAVA_HOME=/usr/local/jdk1.8.0_101

export PATH=$JAVA_HOME/bin:$PATH

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

安装MySQL并进行相关设置

Mycat用来作为MySQL中间件,需要安装MySQL数据库,并设置用户和database节点。

安装MySQL

在Ubuntu上安装MySQL非常简单,只需要按照下面命令执行即可,安装过程中间可能需要设置root密码等操作。

sudo apt-get install mysql-server

apt-get isntall mysql-client

安装完成之后,查看是否安装成功

ps -ef|grep mysql

解决提示ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

1: 停止mysq服务, /etc/init.d/mysql stop

2: 用mysqld_safe --user=mysql --skip-grant-tables --skip-networking 启动mysql

3: 直接输入mysql命令进入mysql

4:执行下面的sql命令,修改密码

注意:这一步有一个坑,在MySQL5.7之前版本中,密码列为password,在5.7时,password改为authentication_string

   5.7之前:update mysql.user set password=password('123456') where user='root'

5.7开始:update mysql.user set authentication_string=password('123456') where user='root' 

5:执行配置文件刷新命令

flush privileges;

6:重启MySQL  /etc/init.d/mysqld restart

7:使用root 用户登录 mysql -u root -p

添加操作系统用户,非MySQL用户

useradd test  #新增test用户
passwd test #设置新密码

新增Database,分别为db1,db2,db3

这3个数据库即为MyCat新增的3个数据节点,为数据分片做准备。

create database db1;
create database db2;
create database db3;

安装MyCat并进行相关设置

可以从MyCat的github上下载最新的Release版本,本文使用版本为1.5-RELEASE

下载/安装Mycat

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

本文下载后,解压到指定目录即可,将文件解压到/usr/local 

启动Mycat

进入解压目录/usr/loacal/mycat/bin

./mycat start

注意,这里启动如果未成功,请查看日志文件,下面说下我在启动过程中碰到的错误。

1: jdk版本与系统版本不兼容

2: mycat配置中的内存设置超出机器内存(我在本地虚拟机安装)。

错误内容:The specified size exceeds the maximum representable size

#最大内存不足Xmx4G,设置相关启动的配置文件
vi /usr/local/mycat/conf/wrapper.conf wrapper.java.additional.10=-Xmx4G
wrapper.java.additional.11=-Xms1G
改为:
wrapper.java.additional.10=-Xmx512M
wrapper.java.additional.11=-Xms64M

配置MyCat

在这里只是简单介绍下配置,保证MyCat能正确连上MySQl,具体详细配置,请参考官方文档。

cd /usr/local/mycat/conf

在此目录中,存放着MyCat的全部配置信息,这里先看下server.xml

再打开schema.xml查看配置信息,需要修改 dataHost节点中的mysql连接地址和用户信息。

使用MyCat连接MySQL

mysql -utest -ptest -h127.0.0.1 -P8066 -DTESTDB

其中8066是mycat的监听端口,类似于mysql的3306端口,其中-u,-p,-h分别是用户名,密码和主机,-D是连接的逻辑库。

红色部分表明连接的是mycat。

创建Travelrecord表

create table travelrecord (id bigint not null primary key,user_id varchar(100),traveldate DATE, fee decimal,days int);

插入数据

mysql> insert into travelrecord(id,user_id,traveldate,fee,days)  values(1,'Victor',20160101,100,10);

mysql> insert into travelrecord(id,user_id,traveldate,fee,days)  values(5000001,'Job',20160102,100,10);

mysql> insert into travelrecord(id,user_id,traveldate,fee,days)  values(10000001,'Slow',20160103,100,10);

查看数据是否分布到对应节点上

首先退出MyCat连接,直接进入MySQL。

我们现在查询刚刚插入数据的分布情况

本文链接: 文章作者:雨~桐 文章出处:http://www.cnblogs.com/piscesLoveCc/ 如果您觉得阅读本文对您有帮助,请点一右下角的“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,但是未经作者本人同意,转载文章之后必须在文章页面明显位置给出作者和原文连接,否则保留追究法律责任的权利。

Ubuntu16.04.1 安装MyCat的更多相关文章

  1. Ubuntu16.04编译安装php

    #Ubuntu16.04编译安装php Ubuntu16.04上面搭建基于Nginx的php服务.Nginx使用apt直接安装的. sudo apt install nginx php的安装部署步骤主 ...

  2. Ubuntu16.04下安装数据库oracle客户端

    在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到远程Oracle数据库. 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/tec ...

  3. Ubuntu16.04下安装redis

    Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/release ...

  4. ubuntu16.04 python3 安装selenium及环境配置

    环境 ubuntu16.04 python3 安装selenium sudo pip3 install seleium 默认安装完是支持firefox,但是更新得太慢对于较新的firefox已经不支持 ...

  5. Ubuntu16.04下安装Hadoop

    一.记录理由 刚开始只是想要学习怎么使用Hive的.想着安装应该很简单,没想到花了整整一天的时间来安装,为了避免下次犯同样的错误,特此记录. 二.安装Hadoop 网上教你怎么安装Hadoop的文章有 ...

  6. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

  7. SLAM+语音机器人DIY系列:(二)ROS入门——3.在ubuntu16.04中安装ROS kinetic

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  8. 通过Anaconda在Ubuntu16.04上安装 TensorFlow(GPU版本)

    一. 安装环境 Ubuntu16.04.3 LST GPU: GeForce GTX1070 Python: 3.5 CUDA Toolkit 8.0 GA1 (Sept 2016) cuDNN v6 ...

  9. ubuntu16.04下安装artoolkit5

    目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic).CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是S ...

随机推荐

  1. Design Mode 之 结构模式

    这里我们主要介绍7种结构型模式:适配器模式.装饰模式.代理模式.外观模式.桥接模式.组合模式.享元模式.其中对象的适配器模式是各种模式的起源,我们看下面的图: B1.适配器模式(Adapter) 模式 ...

  2. Entity Framework之问题收集

    本节讨论内容主要针对收集了上篇文章大家碰到问题的讨论解决,会持续收集扩充. DbContext加载原值,当前值,数据库值,属性操作,对象复制,对象值复制(VO,DTO->POCO),复杂对象取值 ...

  3. iOS UIwebView html 字符串转换

    解析json字段是一段html串,平常解析出来都能在uiwebview上正常显示,这却出现以下状况,文本内容夹杂好多不需要显示的字符,例如: NSString*string =@"<s ...

  4. 【Linux/Ubuntu学习 7】E: 无法获得锁 /var/lib/dpkg/lock – open (11: 资源暂时不可用) E: 无法锁定管理目录

    在用sudo apt-get install 安装软件时,由于速度太慢,想换个软件源,直接关闭了终端,apt-get但进程没有结束,结果终端提示 :“E: 无法获得锁 /var/lib/dpkg/lo ...

  5. VMware系统运维(七)vCenter Inventory Server安装

    1.vCenter Inventory Server安装即vCenter 清单服务 2.下一步 3.接受协议,下一步 4.选择安装位置,下一步 5.设置域名,注意在安装之前一定要加域,嘻嘻. 6.设置 ...

  6. Android 使用动态加载框架DL进行插件化开发

    http://blog.csdn.net/t12x3456/article/details/39958755/ 转载自: 时之沙: http://blog.csdn.net/t12x3456

  7. self.view添加UIView时添加动画

    CATransition *animation = [CATransition animation]; animation.delegate = self; animation.duration = ...

  8. java实现Composite(组合)模式

    组合模式涉及的是一组对象,其中一些对象可能含有其他对象,这些对象也可以含有对象,因此,有些对象代表的是对象群组. Composite模式的设计意图在于:让所有的用户能够用统一的接口处理单个对象以及对象 ...

  9. PHP分页

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  10. Android之聊天室设计与开发

    我们要设计和实现一个有聊天室功能的APP,需要服务器不断读取来自客户端的信息,并即时地将信息发送给每个连接到本服务器上的客户端,每个客户端可以向服务器发送消息,并不断地接收来自服务器的消息,并将消息显 ...