Mycat 和 MySQL主从架构进行耦合

说明:本实验依赖于MySQL主从复制架构

所以MySQL主从复制就不再做演示,可以参考本人之前写的主从复制的博文


实验环境:

master:192.168.18.103

slave:   192.168.18.104

Mycat:     192.168.18.109

Mycat 服务器主机名:CentOS-4

Mycat 端需要安装 MySQL 服务


一、安装配置MySQL主从复制

链接:

https://www.jianshu.com/p/777cfa081739


二、安装Mycat

在安装Mycat之前应该先在Mycat服务器端安装好MySQL服务,但是由于太简单,而且之前写过安装MySQL社区版的博文,因此安装MySQL的过程省略……

1、安装配置jdk

说明:因为Mycat是基于Java开发的程序,所以在安装Mycat之前需要先安装配置好Java环境

1)先将提前准备好的jdk安装包上传到Linux

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# yum  install  lrzsz        #安装lrzsz软件用于上传jdk安装包

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# ls

2)解压jdk

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# tar  -zxf  jdk-8u161-linux-x64.tar.gz  -C  /usr/local/

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# ls /usr/local/

bin  etc  games  include  jdk1.8.0_161  lib  lib64  libexec  sbin  share  src

[root@CentOS-4 ~]#

3)配置jdk

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# vim /etc/profile

#在配置文件最末尾加入以下4行内容即可:

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

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

[root@CentOS-4 ~]#

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# tail  -4  /etc/profile          #查看添加的4行内容

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# source  /etc/profile          #使环境变量生效

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# java  -version                  #查看Java环境是否配置成功

2、安装并配置Mycat

Linux安装Mycat有以下4种方式:

以rpm包的方式安装;

以yum的方式安装;

以解压以后直接使用的方式安装;

以解压以后进行编译的方式安装

本次实验,我们采用“解压Mycat压缩包以后直接就能使用的方式”来安装

1)先将提前准备好的Mycat安装包上传到Linux

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# ls

2)解压Mycat

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# tar  -zxf  Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz  -C  /usr/local/

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# ls /usr/local/

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# ll   /usr/local/mycat/

3)配置Mycat

3个非常重要的模块说明:

schema.xml  :用于定义逻辑库、表,以及分片节点等内容

server.xml    :用于定义用户和系统的相关变量,比如端口等

rule.xml        :用于定义分片规则

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# ll  /usr/local/mycat/conf/

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# cd /usr/local/mycat/conf/

(1)先配置修改 server.xml

主要修改用户信息,此用户是用户登录Mycat所使用的

[root@CentOS-4 conf]#

[root@CentOS-4 conf]# vim  server.xml

[root@CentOS-4 conf]#

[root@CentOS-4 conf]#

(2)接着修改 schema.xml

由于schema.xml 配置模块中很多注释影响配置使用,所以我们需要先将这些用不到的注释信息全部删除,简化配置文件

[root@CentOS-4 conf]#

[root@CentOS-4 conf]# vim  schema.xml

<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1" >

        </schema>

        <dataNode name="dn1" dataHost="CentOS-4" database="testdb" />

        <dataHost name="CentOS-4" 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.18.103:3306" user="root"

                                  password="Ctsi.2020">

                        <!-- can have multi read hosts -->

                        <readHost host="hostS2" url="192.168.18.104:3306" user="root" password="Ctsi.2020" />

                </writeHost>

        </dataHost>

</mycat:schema>

[root@CentOS-4 conf]#

[root@CentOS-4 conf]#

[root@CentOS-4 conf]# cat  schema.xml

(3)验证Mycat是否可以远程登录到MySQL服务器

[root@CentOS-4 conf]#

[root@CentOS-4 conf]# mysql -uroot -p'Ctsi.2020' -h 192.168.18.103 -P 3306

[root@CentOS-4 conf]#

[root@CentOS-4 conf]# mysql -uroot -p'Ctsi.2020' -h 192.168.18.104 -P 3306

(4)启动Mycat

[root@CentOS-4 conf]#

[root@CentOS-4 conf]# cd  /usr/local/mycat/bin/

[root@CentOS-4 bin]# pwd

/usr/local/mycat/bin

[root@CentOS-4 bin]#

[root@CentOS-4 bin]# ./mycat console            #启动Mycat

3、登录Mycat

1)运维人员登录方式,用于管理维护Mycat

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# mysql -umycat -p'Mycat.2020' -P 9066 -h 192.168.18.105

2)登录数据窗口,通过Mycat查询数据

[root@CentOS-4 ~]#

[root@CentOS-4 ~]# mysql -umycat -p'Mycat.2020' -P 8066 -h 192.168.18.105

mysql>

mysql> show databases;

3)使用 Nivicat 远程连接 Mycat

4、操作Mycat

使用master当做远程客户端连接Mycat服务器,进行操作测试

[root@CentOS ~]#

[root@CentOS ~]# mysql -umycat -p'Mycat.2020' -P 8066 -h 192.168.18.105

mysql>

mysql> show databases;

mysql> use TESTDB;

mysql>

mysql> CREATE TABLE table_book(

    -> table_book_id INT NOT NULL AUTO_INCREMENT,

    -> table_book_title VARCHAR(100) NOT NULL,

    -> table_book_author VARCHAR(40) NOT NULL,

    -> submission_date DATE,

    -> PRIMARY KEY ( table_book_id )

    -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;

Query OK, 0 rows affected (0.11 sec)

mysql>

mysql> show tables;

mysql>

mysql> drop table table_book;

Query OK, 0 rows affected (0.26 sec)

mysql>

mysql>

mysql> show tables;

而且在操作Mycat的时候,我去后台数据库查看过,后台真实数据库会随着Mycat端的操作而进行同步改变

结论:使用Mycat中间件成功实现了与MySQL数据库集群的耦合


预告:下一篇博文将介绍使用Mycat实现MySQL主从复制架构的读写分离功能

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,924评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,781评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,813评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,264评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,273评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,383评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,800评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,482评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,673评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,497评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,545评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,240评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,802评论 3 304
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,866评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,101评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,673评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,245评论 2 341

推荐阅读更多精彩内容

  • Linux-Server-Notes PMS /home/softwareluke/图片/2017-09-11 0...
    燕京博士阅读 558评论 0 1
  • MySQL的安装(rpm格式/需要联网) 安装环境 VMware Linux CentOS-6.5。 上传工具Fi...
    Cehae阅读 12,608评论 0 16
  • 更改ip和dnsVi /etc/sysconfig/network-scripts/ifcfg-eth0vi /...
    Xwei_阅读 1,794评论 0 3
  • “你!?冷静,冷静……我们不是敌人!” “我有可以放过你的理由吗?”我说话了,这是醒来后的第一句话。 “等下,等下...
    漫漫小狐阅读 201评论 0 0
  • 今天突然想起来刘老师说的选我所爱,爱我所选,我发现现在大部分人为什么会烦恼,就是因为没有能力改变现状,或者不想去改...
    聆听花开_5a8a阅读 119评论 0 0