mycat安装和测试

一.  环境准备

本机环境是三台centos6.5

IP

主机名

数据库名

安装软件

192.168.17.4

master

db1

mycat,mysql

192.168.17.5

slave1

db2

mysql

192.168.17.6

slave2

db3

mysql

二.  安装mysql

1.安装mysql软件

linux下安装mysql有两种方式:一种是通过下载源码编译安装,一种是通过rpm包安装,如果配置了yum直接用yum安装会更快

编译安装步骤:

  1. ./congfigrue –prefix=安装路径
  2. make
  3. make install

因为编译安装,后面为了使用方便要将服务注册到init服务中比较麻烦,这里介绍最简单的yum安装

1.     安装mysql客户端

yum -y install mysql

2.     安装mysql服务器端

yum -y install mysql-server

yum -y install mysql-devel

3.添加mysql用户及权限并配置数据库

三台服务器都安装mysql以后 ,三台机器同样配置数据库

具体步骤如下:

  1. 配置编码格式,vi  /etc/my.cnf  ,添加default-character-set=utf8
  1. 添加开机启动项

chkconfig --add mysqld

chkconfig mysqld on

  1. 启动mysql,service mysqld start
  1. 配置root用户并设置密码,mysqladmin -u root password 123456
  1. 创建新用户,首先用root用户登录,mysql -uroot –p然后输入密码

执行use mysql,进入用户管理库,执行select user,host from user;查询当前用户发现有一些user是空的用户,直接删掉,delete  from  user  where   user=”” 否则后面会出问题

这里能看到只能本机访问root,可以通过执行语句update user set host = '%' where user = 'root' and host='localhost';;来释放root的访问权限,让所有ip都能通过root登录

执行语句insert into mysql.user(Host,User,Password) values("%","mycat",password("123456"));添加新用户

然后是赋权限,我这里是赋了所有权限,可以只赋某个库,或者部分权限,命令自己网上查,执行赋权限语句grant all privileges on *.* to 'mycat'@'%' identified by '123456';后一定记得执行flush privileges;来刷新权限

登录新建的用户并创建响应的数据库,mysql –umycat –p   ,create database db1/db2/db3,根据不同机器数据库名不同

  1. 上述操作在三台机器上一样操作

三.  安装mycat

1.安装mycat软件并创建用户

下载解压tar -zxvf Mycat-server-1.4-release-20151019230038-linux.tar.gz

配置环境变量

export MYCAT_HOME=/opt/sxt/soft/mycat

PATH=$PATH:$MYCAT_HOME/bin

通过配置sh /opt/sxt/soft/mycat/bin/mycat start执行开机启动也可以自己写脚本加入init服务

创建一个新的group

groupadd mycat

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

useradd -g mycat mycat

给新用户设置密码,

passwd mycat

2.配置mycat配置文件

在三台mysql的配置文件vi /etc/my.cnf中加入lower_case_table_names = 1来忽略大小写

编辑schema文件
先备份一下cp   $MYCAT_HOME/conf/schema.xml    $MYCAT_HOME/conf/schema.xml.tmp
vim $MYCAT_HOME/conf/schema.xml 
将里面mycat:schema节点的东西全部干掉,如下配置
<table name="employee" primaryKey="ID" dataNode="dn1,dn2,dn3"
rule="sharding-by-intfile" />
</schema>
<!--数据节点dn1,对应的主机c1,对应是数据库db1 -->
<dataNode name="dn1" dataHost="master" database="db1" />
<dataNode name="dn2" dataHost="slave1" database="db2" />
<dataNode name="dn3" dataHost="slave2" database="db3" />
<!-- 主机C1-->
<dataHost name="master" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native">
<heartbeat>select user()</heartbeat>
<!--mysql数据库的连接串 -->
<writeHost host="hostM1" url="master:3306" user="mycat"
password="123456">
</writeHost>
</dataHost>
<!-- 主机C2-->
<dataHost name="slave1" maxCon="1000" minCon="10" balance="0"
writeType="0" dbType="mysql" dbDriver="native">
<heartbeat>select user()</heartbeat>
<writeHost host="hostM2" url="slave1:3306" user="mycat"
password="123456">
</writeHost>
</dataHost>
<!-- 主机C3-->
<dataHost name="slave2" maxCon="1000" minCon="10" balance="0"
  writeType="0" dbType="mysql" dbDriver="native">
 <heartbeat>select user()</heartbeat>
 <!--mysql数据库的连接串 -->
 <writeHost host="hostM3" url="slave2:3306" user="mycat"
    password="123456">
 </writeHost>
</dataHost>

在conf目录下配置server.xml ,将目录下没有的用户全部删掉或者注释掉,添加可用的用户,这里添加了
<user name="mycat">
<property name="password">123456</property>
<property name="schemas">JamesMycatSchema</property>
</user>

修改conf下的partition-hash-int.txt文件  在下面添加10020=2,原本默认的是分两个就是10000和10010,现在我们三个就要三个分类id了,添加一个即可

四.  测试mycat

1.启动mycat,

执行mycat start

tail -100  $MYCAT_HOME/logs/wrapper.log查看结果如下就表明启动成功了

2.测试mysql表横向分割

在虚拟机外的windows安装Navicat for MySQL,分别连接到三个mysql数据库,执行建表语句create table employee (id int not null primary key,name varchar(100),sharding_id int not null);

用Navicat for MySQL连接mycat,mycat默认端口是8066,配置如图:

因为刚才执行了建表语句,这时候连接上了mycat里面也有一个空的employee表

执行如下语句

insert into employee(id,name,sharding_id) values(1, 'I am db1',10000);

insert into employee(id,name,sharding_id) values(2, 'I am db2',10010);

insert into employee(id,name,sharding_id) values(3, 'I am db3',10020);

insert into employee(id,name,sharding_id) values(4, 'I am db1',10000);

insert into employee(id,name,sharding_id) values(5, 'I am db2',10010);

insert into employee(id,name,sharding_id) values(6, 'I am db3',10020);

刷新一下navicat查看mycat连接的库

mycat安装和测试的更多相关文章

  1. MyCat安装与测试教程 超详细!

    MyCat安装与测试教程 超详细! MyCat基础知识 一.什么是MYCAT? 1. 一个彻底开源的,面向企业应用开发的大数据库集群 2. 支持事务.ACID.可以替代MySQL的加强版数据库 3. ...

  2. Mycat安装及测试分片总结

    1.安装jdk1.72.连接实际mysql数据库 用命令行工具或图形化客户端,连接mysql,创建DEMO所用三个分片数据库:(默认schema.xml中的配置需要三个库) CREATE databa ...

  3. Mycat的简易安装及测试

    1.环境 OS版本 CentOS release 6.5 (Final) 64bit DB版本 Mysql 5.6.37 Mycat 1.6 jdk1.7及以上版本 2.实战部署 1.创建用户及用户组 ...

  4. Mycat安装与使用

      1.下载:   https://github.com/MyCATApache/Mycat-download 具体下载哪个版本以发布为准,推荐1.4,1.5.   2.安装:   安全前,在Linu ...

  5. mycat安装与配置

    1.安装jdk 测试jdk是否已经安装 [root@node002 ~]# java -version-bash: java: command not found 创建解压目录 [root@node0 ...

  6. Mycat安装教程

      1.下载:   https://github.com/MyCATApache/Mycat-download 具体下载哪个版本以发布为准,推荐1.4,1.5.   2.安装:   安全前,在Linu ...

  7. Linux下Mycat安装配置和使用

    mysql安装下载mysql[百度云]tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz 解压把mysql文件夹移动到 /usr/local/ 下m ...

  8. 数据库中间件之mycat安装部署(一)

    在学习数据库中间件前,我们先抛出三个问题 1.数据库数据量不大,但并发读写操作很大,应该怎么办? 此时我们首先考虑使用缓存中间件来减轻读压力,如果不能满足则考虑数据库读写分离,此时就会引入新的问题,这 ...

  9. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...

随机推荐

  1. Tarjan算法及其应用

    Tarjan算法及其应用 引入 tarjan算法可以在图上求解LCA,强连通分量,双联通分量(点双,边双),割点,割边,等各种问题. 这里简单整理一下tarjan算法的几个应用. LCA http:/ ...

  2. day07 类的进阶,socket编程初识

    类的静态方法: 正常: 添加静态方法: 就会变成一个函数,不会自动传self 参数,不会调用类的变量和实例的变量  不在需要self 名义上归类管,但是它就是一个单独的函数,不在需要传入self,想怎 ...

  3. ogre3D学习基础11 -- 交换两个场景管理器

    这一节,练习一下前几次学习的内容,功能很简单,就是建立两个不同的场景管理器,当按下键盘上某个键时切换镜头. 基本框架不变,这个监听器继承了两个父类,一个是我们的老朋友ExampleFrameListe ...

  4. 触屏版轻量级分页插件jqPagination分享

    说到HTML5和jquery上的分页问题,优秀的分页插件网上一抓一大把,然而同时适合兼容在Ipad和手机端的网站分页却不是特别多. 或许有人会说,触屏现在流行下拉底部后加载下一页内容,类似微博和QQ空 ...

  5. [python学习篇] uiautomator xiaocong

    Skip to content     This repository Pull requests Issues Marketplace Gist   Sign out       Watch103 ...

  6. dpkg: deb包的操作命令

    dpkg -i package.deb #安装包 dpkg -r package #删除包 dpkg -P package #删除包(包括配置文件) dpkg -L package #列出与该包关联的 ...

  7. Python3网络爬虫(三):urllib.error异常

    运行平台:Windows Python版本:Python3.x IDE:Sublime text3 转载请注明作者和出处:http://blog.csdn.net/c406495762/article ...

  8. iOS----闪退,无报错原因,经典解决方案

    在iOS开发时,有时候遇到libc++abi.dylib handler threw exception这样的异常,  虽然在断点出加上了All Exceptions,也断到相应的代码了,但是没打印对 ...

  9. 天气预报接口:SmartWeather API中key的计算方法

    这个代码大家都蛮感兴趣,我在git开源了一个用于收集天气信息的系统,基于python语言的,请大家参考: https://github.com/BerlinSun/WeatherForecast -- ...

  10. [luoguP2763] 试题库问题(最大流)

    传送门 每个类别和它所有的试题连一条权值为1的边. 增加一个超级源点s,s和每个类别连一条权值为选当前类别数量的边. 增加一个超级汇点t,每个试题和t连一条权值为1的边. 求最大流即可. ——代码 # ...