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区分
|
2)schema.xml
删除
[root@pluto 桌面]# vim /usr/local/mycat/conf/schema.xml |
<?xml version="1.0"?>
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
password="123456">
|
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://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 |