• mycat实现分库分表小例子


    说明:目的是简单实现一张表的分库分表,以t_order为例,以order_id取模为分表规则

    1.环境准备,我有一台笔记本装有mysql(192.168.100.55),一台虚拟机装有mysql(192.168.100.41),mycat也安装在虚机上

    2.下载mycat安装包,我用的是Mycat-server-1.6.7.5-release-20200410174409-linux.tar.gz版本

    3.安装包上传到/home路径下并解压,tar -zxvf Mycat-server-1.6.7.5-release-20200410174409-linux.tar.gz

    4.进入mycat的配置文件文件夹修改配置文件,cd /home/mycat/conf

    5.修改server.xml




        
            123456
            itest
            itest
        

    6.修改schema.xml




           
              


           
           
            
                                      writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                    select user()
                                                       password="***">
                          
                   

           

                                             writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                    select user()
                                                       password="***">
                          
                   

           


    7.修改rule.xml,增加以下配置


            
                    order_id
                    mod-long
            

    8.为了方便把两台装有mysql的机器都关闭防火墙,mysql都开启远程访问的权限

    9.在两个mysql中都建itest数据库并建t_order表

    CREATE TABLE `t_order` (
      `order_id` int(11) DEFAULT NULL,
      `order_time` datetime DEFAULT NULL,
      `user_id` int(11) DEFAULT NULL,
      `amount` varchar(255) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    10.启动mycat 

    cd /home/mycat/bin

    ./mycat start

    11.用工具连接mycat,连接的端口为8066,用户名密码是server.xml里面配置的

    12.这时在mycat中会看到此前在两台mysql服务器上建的表t_order,往t_order中插入order_id不同的数据,会看到均匀分布在两个mysql库中,检索不同order_id的数据,mycat会自动定位到不同的库并获取结果就ok了

  • 相关阅读:
    Canvas录制视频
    STM32 独立看门狗
    【每日一题】689. 三个无重叠子数组的最大和-2023.11.19
    信奥中的数学之入门组(面向小学四年级至六年级以及初一学生)
    Android JNI复杂用法,回调,C++中调用Java方法
    TMC2660步进电机驱动
    基于jsp+mysql+ssm大学生社交平台-计算机毕业设计
    【无标题】
    代码规范 & 详细解释 husky、prettier、eslint、lint-staged 的作用和使用
    iOS UIWebView与WKWebView 那些事
  • 原文地址:https://blog.csdn.net/sunweiking/article/details/126890787