• 1、MyCat入门


    1.Mycat简介

    [1].Mycat是什么

      Mycat 是数据库中间件

    [2].why使用Mycat

      ①.Java与数据库紧耦合

      ②.高访问量高并发对数据库的压力

      ③.读写请求数据不一致

    [3].数据库中间件

     

    [3].Mycat官网

       http://www.mycat.org.cn/

    [4].Mycat作用

    (1).读写分离

     

    (2).数据分片

      垂直拆分(分库)、水平拆分(分表)、垂直+水平拆分(分库分表)

     

    (3).多数据源整合

     

    [5].Mycat原理

      Mycat 的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此 SQL 发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。

     

      这种方式把数据库的分布式从代码中解耦出来,程序员察觉不出来后台使用 Mycat 还是MySQL。

    2.Mycat安装启动

    [1].解压后即可使用

      解压缩文件拷贝到 linux 下 /usr/local/

    (1)将tar包放到Linux的/opt 

    (2)解压Mycat

    [root@pluto opt]# cd /opt/

    [root@pluto opt]# tar -zxvf Mycat-server-1.6.7.1-release-20190627191042-linux.tar.gz

    (3)复制Mycat到/usr/local/

      因为mycat是目录,所以我们需要-r递归参数

    [root@pluto mycat]# cp -r /opt/mycat/ /usr/local/

    (4)配置文件

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

      rule.xml:定义分片规则

      server.xml:定义用户以及系统相关变量,如端口等

    1)server.xml

      修改用户信息,与MySQL区分

            <user name="mycat" defaultAccount="true">

                    <property name="password">123456</property>

                    <property name="schemas">TESTDB</property>

            </user>

    2)schema.xml

      删除<schema>标签间的表信息,<dataNode>标签只留一个,<dataHost>标签只留一个,<writeHost> <readHost>只留一对

    [root@pluto 桌面]# vim /usr/local/mycat/conf/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="host1" 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>

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

                    <writeHost host="hostM1" url="192.168.188.188:3306" user="root"

                                       password="123456">

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

                            <readHost host="hostS2" url="192.168.188.189:3306" user="root" password="123456" />

                    </writeHost>

            </dataHost>

    </mycat:schema>

    3).验证数据库

      Mycat 作为数据库中间件要和数据库部署在不同机器上,所以要验证远程访问情况。

    mysql -uroot -p123123 -h 192.168.188.188 -P 3306

    mysql -uroot -p123123 -h 192.168.188.189 -P 3306

     

    #如远程访问报错,请建对应用户

    grant all privileges on *.* to root@'%' identified by '123456';

    %代表全部用户

    [2].启动mycat

    [root@pluto bin]# pwd

    /usr/local/mycat/bin

    [root@pluto bin]# ./mycat console

     

    启动mycat遇到的问题

     

    https://blog.csdn.net/MAMAIMAI/article/details/104664129

    https://blog.csdn.net/weixin_44666068/article/details/105792473

    https://www.cnblogs.com/orcl-2018/p/13153865.html

    https://blog.csdn.net/chtjava/article/details/87078154

    http://www.xwood.net/_site_domain_/_root/5870/5874/t_c279894.html

     

     

    https://blog.csdn.net/chtjava/article/details/87078154

    [3].登录mycat

    (1).登录数据窗口

      此登录方式用于通过 Mycat 查询数据,我们选择这种方式访问 Mycat

    [root@host79 ~]# mysql -umycat -p123456 -h 192.168.188.188 -P 8066

     

    (2).登录后台管理窗口

    [root@host79 ~]# mysql -umycat -p123456 -h 192.168.188.188 -P 9066

  • 相关阅读:
    iOS-字符串的连接
    [Win32]Win32 SDK编程系列文章——键盘输入消息
    [置顶] eclipse导入svn下载的项目后无法与服务器的svn项目关联
    iOS-时区 日期处理
    数学之路(3)数据分析(5)
    Filter解决中文乱码问题
    Mac OS X 10.8.3搭建Android工程源码的编译环境(解决找不到GCC、GIT、PYTHON的问题)
    paypal租用
    Java通过内部类实现回调功能
    处理9path图片边缘的小黑点
  • 原文地址:https://www.cnblogs.com/HOsystem/p/14117840.html
Copyright © 2020-2023  润新知