手把手教你linux下使用mycat对mysql进行垂直分库

准备

  • 两台服务器并且安装mysql,不可以克隆mysql!
    1数据库:192.168.0.106
    2数据库:192.168.0.107

  • mycat一枚

简单的配置mycat

  • 下载
    github太慢直接网盘下就行,版本是1.6
    链接: https://pan.baidu.com/s/1QQyIUj_Y03Ctpo22yIuNxA 密码: 3arv

安装

安装详细
解压

tar -zxvf Mycat-server-1.6.7.1-linux.tar.gz

移动到/usr/local目录下

mv  mycat /usr/local

进入/usr/local/mycat/conf 目录

 cd /usr/local/mycat/conf 

配置分库

  • 首先修改server.xml
    server.xml 是mycat的配置文件。
    修不修改都行,就是登陆mycat需要的用户和密码
    手把手教你linux下使用mycat对mysql进行垂直分库_第1张图片

  • 修改schema.xml
    schema.xml是用来配置数据库之间的关系,比如多主多从,分库分表啥的



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

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

        
        <dataNode name="dn1" dataHost="host1" database="testdb" />
        <dataNode name="dn2" dataHost="host2" database="testdb" />
        
        
        <dataHost name="host1" maxCon="1000" minCon="10" balance="0"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()heartbeat>

                
                <writeHost host="hostM1" url="192.168.0.106:3306" user="root"  password="123456">
                writeHost>
        dataHost>
        
        <dataHost name="host2" maxCon="1000" minCon="10" balance="0"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()heartbeat>
                <writeHost host="hostM1" url="192.168.0.107:3306" user="root"  password="123456">
                writeHost>
        dataHost>
mycat:schema>

在服务器里创建真实库

在服务器里创建真实库testdb,testdb使我们在配置文件里指定的
手把手教你linux下使用mycat对mysql进行垂直分库_第2张图片
两个数据库都要创建
106:
手把手教你linux下使用mycat对mysql进行垂直分库_第3张图片

107:
手把手教你linux下使用mycat对mysql进行垂直分库_第4张图片

启动

安装java-jdk:https://blog.csdn.net/qq_42094345/article/details/106954139

  1. 控制台启动 :去 mycat/bin 目录下执行 ./mycat console
  2. 后台启动 :去 mycat/bin 目录下 ./mycat start
    为了能第一时间看到启动日志,方便定位问题,我们选择1控制台启动。

成功会有提示【successfully】
手把手教你linux下使用mycat对mysql进行垂直分库_第5张图片

登陆mycat

mysql -umycat -p123456 -h 192.168.0.106 -P 8066

使用mysql命令登陆
用户名和密码是schema.xml 的 标签里面配置的用户名和密码
在这里插入图片描述

登陆成功
手把手教你linux下使用mycat对mysql进行垂直分库_第6张图片

测试是否成功

我们创建一张t_user表看是否会创建在107的数据库里就可以

在mycat操作台执行ddl:

-- 进入mycat虚拟库
use TESTDB;
-- 创建t_user的表并查看是否成功
 create table t_user(id int(11),name varchar(20));show tables;

创建成功:
手把手教你linux下使用mycat对mysql进行垂直分库_第7张图片
接下来我们来看看106有没有这张表:
手把手教你linux下使用mycat对mysql进行垂直分库_第8张图片
106没有是正确的因为我们把t_user的表分发到107上面了,纳闷门继续来看107有没有,如果107有则表示此次垂直分库成功:
手把手教你linux下使用mycat对mysql进行垂直分库_第9张图片
107创建成功,本次垂直分库成功!

附:

下一篇会写水平分表如何做,一般项目中分布分表的规则就是垂直库+水平表,无非就是mycat配置了,想看的话请在我的分栏 - mycat学习笔记里找一下

如果有用请三联,不胜感激!

你可能感兴趣的:(mycat学习笔记,数据库,数据库,linux,mysql)