自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 快速学习-Mycat 注解

第 5 章 Mycat 注解5.1 注解原理概念:MyCat 对自身不支持的 Sql 语句提供了一种解决方案——在要执行的 SQL 语句前添加额外的一段由注解SQL 组织的代码,这样 Sql 就能正确执行,这段代码称之为“注解”。注解的使用相当于对 mycat 不支持的 sql语句做了一层透明代理转发,直接交给目标的数据节点进行 sql 语句执行,其中注解 SQL 用于确定最终执行 SQL的数据节点。注解的形式是:/*!mycat: sql=注解 Sql 语句*/注解的使用方式是:/*!myc

2021-02-25 09:52:49 1216

原创 快速学习-Mycat SQL 拦截机制

第 4 章 Mycat SQL 拦截机制SQL 拦截是一个比较有用的高级技巧,用户可以写一个 java 类,将传入 MyCAT 的 SQL 进行改写然后交给Mycat 去执行,此技巧可以完成如下一些特殊功能:捕获和记录某些特殊的 SQL;记录 sql 查找异常;出于性能优化的考虑,改写 SQL,比如改变查询条件的顺序或增加分页限制;将某些 Select SQL 强制设置为 Read 模式,走读写分离(很多事务框架很难剥离事务中的 Select SQL;后期 Mycat 智能优化,拦截所有 sq

2021-02-24 09:44:26 1247

原创 快速学习-Mycat事务支持

第 3 章 事务支持3.1 Mycat 里的数据库事务Mycat 目前没有出来跨分片的事务强一致性支持,目前单库内部可以保证事务的完整性,如果跨库事务,在执行的时候任何分片出错,可以保证所有分片回滚,但是一旦应用发起 commit 指令,无法保证所有分片都成功考虑到某个分片挂的可能性不大所以称为弱 xa。3.2 XA 事务原理分布式事务处理( Distributed Transaction Processing , DTP )指一个程序或程序段,在一个或多个资源如数据库或文件上为完成某些功能的执行过

2021-02-23 16:16:20 1284

原创 数据库MySQL-高可用与集群

第 2 章 高可用与集群2.1 MySQL 高可用的几种方案首先我们看看 MySQL 高可用的几种方案:对于数据实时性要求不是特别严格的应用,只需要通过廉价的 pc server 来扩展 Slave 的数量,将读压力分散到多台 Slave 的机器上面,即可通过分散单台数据库服务器的读压力来解决数据库端的读性能瓶颈,毕竟在大多数数据库应用系统中的读压力还是要比写压力大很多。这在很大程度上解决了目前很多中小型网站的数据库压力瓶颈问题,甚至有些大型网站也在使用类似方案解决数据库瓶颈。MySQL Clu

2021-02-22 15:24:27 1167 2

原创 数据库MySQL-读写分离

第 1 章读写分离1.1 MySQL 主从复制的几种方案数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。从数据库的角度来说,对于大多数应用来说,从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即 SQL 查询的瓶颈,我们知道,正常情况下,Insert SQL 就是几十个毫秒的时间内写入完成,而系统中的大多数 Select SQL 则要几秒到几分钟才能有结果,很多复杂的 SQL,其消耗服务器 CPU 的能力超强,不亚于死循环的威力。在没有读写分离

2021-02-22 14:00:50 918

原创 快速学习-Mycat 性能测试指南

Mycat 性能测试指南Mycat 自身提供了一套基准性能测试工具,这套工具可以用于性能测试、疲劳测试等,包括分片表插入性能测试、分片表查询性能测试、更新性能测试、全局表插入性能测试等基准测试工具。这里需要说明的一点是,分片表的性能测试不同于普通单表,因为它的数据是分布在几个 Datahost 上的,因此插入和查询,都必需要特定的工具,才能做到多个节点同时负载请求,通过观察每个主机的负载,能够确定是否你的测试是合理和正确的。大量测试表明,当带宽不是问题而且带宽没有占满,比如千兆网网络连接的 Mycat

2021-02-22 11:28:24 1076

原创 快速学习-Mycat 最新的稳定版本是哪个到哪里下载?

Mycat 最新的稳定版本是哪个到哪里下载?答:打包代码:Mycat 最新稳定版是 1.5.1 ,1.6 为 aphla,下载地址是:https://github.com/MyCATApache/Mycat-download。文档:https://github.com/MyCATApache/Mycat-doc。源码:https://github.com/MyCATApache/Mycat-Server。...

2021-02-22 11:27:56 1513 1

原创 快速学习-Mycat 最大内存无法调整至 4G 以上

Mycat 最大内存无法调整至 4G 以上答:mycat1.4 的 JVM 使用最大内存调整如果超过 4G 大小,不能使用 wrapper.java.maxmemory 参数,需要使用 wrapper.java.additional 的写法,注意将 wrapper.java.maxmemory 参数注释,例如增加最大内存至8G:wrapper.java.additional.10=-Xmx8G。...

2021-02-22 11:27:19 1220

原创 快速学习-Mycat 使用过程中报错怎么办

11.10 Mycat 如何配置字符集?答:在配置文件 server.xml 配置,默认配置为 utf8。<system><property name="charset">utf8</property></system>11.11 Mycat 后台管理监控如何使用?答:9066 端口可以用 JDBC 方式执行命令,在界面上进行管理维护,也可以通过命令行查看命令行操作。命令行操作是:mysql -h127.0.0.1 -utest -ptest -

2021-02-22 11:26:51 1079

原创 快速学习-Mycat ER 分片子表数据插入报错

Mycat ER 分片子表数据插入报错答:一般都是插入子表时出现不能找到父节点的报错。报错信息如: [Err] 1064 - can't find (root) parent sharding node for sql:。此类 ER 表的插入操作不能做为一个事务进行数据提交,如果父子表在一个事务中进行提交,显然在事务没有提交前子表是无法查到父表的数据的,因此就无法确定 sharding node。如果是 ER 关系的表在插入数据时不能在同一个事务中提交数据,只能分开提交。...

2021-02-20 10:08:57 1201 1

原创 快速学习-Mycat 的分片数据插入报异常 IndexOutofBoundException

Mycat 的分片数据插入报异常 IndexOutofBoundException答:在一些配置了分片策略的表进行数据插入时报错,常见的报错信息如下:java.lang.IndexOutOfBoundsException:Index:4,size:3 这类报错通常由于分片策略配置不对引起,请仔细检查并理解分片策略的配置,例如:使用固定分片 hash 算法,PartitionByLong 策略,如果 schema.xml 里面设置的分片数量 dataNode 和 rule.xml 配置的 partitio

2021-02-20 10:08:02 2160

原创 快速学习-Mycat 无法登陆 Access denied

Mycat 无法登陆 Access denied答:Mycat 正常安装配置完成,登陆 mycat 出现以下错误:[mysql@master ~]$ mysql -utest -ptest -P8066ERROR 1045 (28000): Access denied for user 'test'@'localhost' (using password: YES)请检查在 schema.xml 中的相关 dataHost 的 mysql 主机的登陆权限,一般都是因为配置的 mysql 的用户登陆

2021-02-20 10:06:58 2233

原创 快速学习-Mycat 中文乱码的问题

Mycat 中文乱码的问题答:如果在使用 mycat 出现中文插入或者查询出现乱码,请检查三个环节的字符集设置:1)客户端环节(应用程序、mysql 命令或图形终端工具)连接 mycat 字符集2)mycat 连接数据库的字符集3)数据库(mysql,oracle)字符集。这三个环节的字符集如果配置一致,则不会出现中文乱码,其中尤其需要注意的是客户端连接 mycat 时使用的连接字符集,通常的中文乱码问题一般都由此处设置不当引出。其中 mycat 内部默认使用 utf8 字符集,在最初启动连接数据库

2021-02-20 10:06:06 1390

原创 快速学习-MycatJDBC 连接报 PacketTooBigException 异常

MycatJDBC 连接报 PacketTooBigException 异常答:检查 mysqljdbc 驱动的版本,在使用 mycat1.3 和 mycat1.4 版本情况下,不要使用 jdbc5.1.37 和 38版本的驱动,会出现如下异常报错:com.mysql.jdbc.PacketTooBigException: Packet for query is too large (60 > -1). You can change this value on the server by setti

2021-02-20 09:53:55 1170

原创 快速学习-Mycat 支持的或者不支持的语句有哪些?

Mycat 支持的或者不支持的语句有哪些?答:insert into,复杂子查询,3 表及其以上跨库 join 等不支持。

2021-02-20 09:50:33 1190 1

原创 快速学习-Mycat 目前有多少人维护?

Mycat 目前有多少人维护?答:目前初步统计有 10 人以上核心人员维护。

2021-02-20 09:49:26 2019

原创 快速学习-Mycat 如何建表与创建存储过程?

Mycat 如何建表与创建存储过程?答:注意注解中语句是节点的表请替换成自己表如 select 1 from 表 ,查出来的数据在那个节点往哪个节点建存储过程/*!mycat: sql=select 1 from 表 */ CREATE DEFINER=`root`@`%` PROCEDURE `proc_test`() BEGINEND ;表:/*!mycat: sql=select 1 from 表 */create table ttt(id int);...

2021-02-20 09:21:26 1530 1

原创 快速学习-Mycat 使用中如何提需求或 bug?

Mycat 使用中如何提需求或 bug?答:bug 或新需求可以到群里提问,同时最好到 github 发起以 isuues:https://github.com/MyCATApache/Mycat-Server/issues

2021-02-20 09:20:35 887

原创 快速学习-Mycat 连接会报无效数据源(Invalid datasource)?

Mycat 连接会报无效数据源(Invalid datasource)?答:例如报错:mysql> select * from company;ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0这类错误最常见是一些配置问题例如 schema.xml 中的 dataNode 的配置和实际不符合,请先仔细检查配置项,确保配置没有问题。如果不是配置问题,分析具体日志看出错原因,常见的有:如果是应用

2021-02-20 09:18:50 4284

原创 快速学习-Mycat 启动报主机不存在的问题?

Mycat 启动报主机不存在的问题?答:需要添加 ip 跟主机的映射。

2021-02-19 09:47:45 894

原创 快速学习-Mycat 支持多表 Join 吗?

Mycat 支持多表 Join 吗?答:Mycat 目前支持 2 个表 Join,后续会支持多表 Join,具体 Join 请看 Mycat 权威指南对应章节。

2021-02-19 09:46:48 1370

原创 快速学习-Mycat 支持批量插入吗?

Mycat 支持批量插入吗?答:目前 Mycat1.3.0.3 以后支持多 values 的批量插入,如 insert into(xxx) values(xxx),(xxx) 。

2021-02-19 09:44:50 1335

原创 快速学习-Mycat 如何对旧分片数据迁移或扩容,支持自动扩容么?

Mycat 如何对旧分片数据迁移或扩容,支持自动扩容么?答:目前除了一致性 hash 规则分片外其他数据迁移比较困难,目前暂时可以手工迁移,未提供自动迁移方案,具体迁移方案情况 Mycat 权威指南对应章节。...

2021-02-19 09:44:06 1114

原创 快速学习-Mycat 中,旧系统数据如何迁移到 Mycat 中?

Mycat 中,旧系统数据如何迁移到 Mycat 中?答:旧数据迁移目前可以手工导入,在 mycat 中提取配置好分配规则及后端分片数据库,然后通过 dump或 loaddata 方式导入,后续 Mycat 就做旧数据自动数据迁移工具。...

2021-02-19 09:43:03 1197

原创 快速学习-Mycat 运行 sql 时经常阻塞或卡死是什么原因?

Mycat 运行 sql 时经常阻塞或卡死是什么原因?答: 如果出现执行 sql 语句长时间未返回,或卡死,请检查是否是虚机下运行或 cpu 为单核,具体解决方式请参 考:https://github.com/MyCATApache/Mycat-Server/issues/73,如果仍旧无法解决,可以暂时跳过,目前有些环境阻塞卡死原因未知。...

2021-02-19 09:40:55 1546

原创 快速学习-Mycat 如何启动与加入服务?

Mycat 如何启动与加入服务?答:目前 Mycat 暂未封装加入服务,需要自己封装。linux 环境为:./mycat start 启动./mycat stop 停止./mycat console 前台运行./mycat restart 重启服务./mycat pause 暂停./mycat status 查看启动状态window 启动为:直接双击运行 startup_nowrap.bat ,如果闪退用 cmd 模式运行查看日志。...

2021-02-19 09:39:20 1038

原创 快速学习-Mycat 主键插入后应用如何获取?

Mycat 主键插入后应用如何获取?答:获得自增主键,插入记录后执行 select last_insert_id()获取。

2021-02-19 09:38:20 901

原创 快速学习-Mycat 后台管理监控如何使用?

Mycat 后台管理监控如何使用?答:9066 端口可以用 JDBC 方式执行命令,在界面上进行管理维护,也可以通过命令行查看命令行操作。命令行操作是:mysql -h127.0.0.1 -utest -ptest -P9066 登陆,然后执行相应命令。...

2021-02-19 09:37:36 962

原创 快速学习-Mycat 如何配置字符集?

Mycat 如何配置字符集?答:在配置文件 server.xml 配置,默认配置为 utf8。<system><property name="charset">utf8</property></system>

2021-02-19 09:36:38 1286

原创 快速学习-Mycat 目前有哪些项目?

Mycat 目前有哪些项目?答:Mycat-Server :Mycat 核心服务;Mycat-spider : Mycat 爬虫技术;Mycat-ConfigCenter :Mycat 配置中心 ;Mycat-BigSQL : Mycat 大数据处理(暂未更细);Mycat-Web : Mycat 监控及 web(新版开发中) ;Mycat-Balance :Mycat 集群负载(暂未更细)。...

2021-02-18 17:07:35 831

原创 快速学习-Mycat 目前有多少人开发?

Mycat 目前有多少人开发?答:Mycat 目前开发全部是志愿者无偿支持,主要有以 leaderus 为首的 Mycat-Server 开始、以 rainbow为首的 Mycat-web 开发、以海王星为首的产品发布及代码管理,还有以 Marshy 为首的推广。...

2021-02-18 17:02:39 1356

原创 快速学习-Mycat 多主切换需要人工处理么?

Mycat 多主切换需要人工处理么?答:Mycat 通过心跳检测,自主切换数据库,保证高可用性,无须手动切换。

2021-02-18 17:01:55 262

原创 快速学习-Mycat 支持集群么?

Mycat 支持集群么?答:目前 Mycat 没有实现对多 Mycat 集群的支持,可以暂时使用 haproxy 来做负载,或者统计硬件负载。

2021-02-18 17:00:51 308

原创 快速学习-Mycat 稳定性与 Cobar 如何?

Mycat 稳定性与 Cobar 如何?答:目前 Mycat 稳定性优于 Cobar,而且一直在更新,Cobar 已经停止维护,可以放心使用。

2021-02-18 17:00:03 434

原创 快速学习-Mycat 目前有生产案例了么?

Mycat 目前有生产案例了么?答:目前 Mycat 初步统计大概 600 家公司使用。

2021-02-18 16:58:54 391

原创 快速学习-Mycat 除了 Mysql 还支持哪些数据库?

Mycat 除了 Mysql 还支持哪些数据库?答:mongodb、oracle、sqlserver 、hive 、db2 、 postgresql。

2021-02-18 16:51:55 1534

原创 快速学习-Mycat 目前有哪些功能与特性?

Mycat 目前有哪些功能与特性?答:• 支持 SQL 92 标准;• 支持 Mysql 集群,可以作为 Proxy 使用;• 支持 JDBC 连接多数据库;• 支持 NoSQL 数据库;• 支持 galera for mysql 集群,percona-cluster 或者 mariadb cluster,提供高可用性数据分片集群;• 自动故障切换,高可用性;• 支持读写分离,支持 Mysql 双主多从,以及一主多从的模式;• 支持全局表,数据自动分片到多个节点,用于高效表关联查询;•

2021-02-18 16:51:04 350

原创 快速学习-Mycat分片规则

第 10 章 Mycat 分片规则10.1 分片规则概述在数据切分处理中,特别是水平切分中,中间件最终要的两个处理过程就是数据的切分、数据的聚合。选择合适的切分规则,至关重要,因为它决定了后续数据聚合的难易程度,甚至可以避免跨库的数据聚合处理。前面讲了数据切分中重要的几条原则,其中有几条是数据冗余,表分组(Table Group),这都是业务上规避跨库join的很好的方式,但不是所有的业务场景都适合这样的规则,因此本章将讲述如何选择合适的切分规则。10.2 Mycat 全局表如果你的业务中有些数据

2021-02-18 13:43:55 456

原创 快速学习-Mycat全局序列号

第 9 章 全局序列号9.1 全局序列号介绍在实现分库分表的情况下,数据库自增主键已无法保证自增主键的全局唯一。为此,MyCat 提供了全局sequence,并且提供了包含本地配置和数据库配置等多种实现方式。9.2 本地文件方式原理:此方式 MyCAT 将 sequence 配置到文件中,当使用到 sequence 中的配置后,MyCAT 会更下classpath 中的 sequence_conf.properties 文件中 sequence 当前的值。配置方式:在 sequence_conf

2021-02-18 09:57:51 406

原创 快速学习-Mycat的分片join

第 8 章 Mycat 的分片 join8.1 join 概述Join 绝对是关系型数据库中最常用一个特性,然而在分布式环境中,跨分片的 join 确是最复杂的,最难解决一个问题。下面我们简单介绍下各种 Join 操作。INNER JOIN内连接,也叫等值连接,inner join 产生同时符合 A 表和 B 表的一组数据。如图:LEFT JOIN左连接从 A 表(左)产生一套完整的记录,与匹配的 B 表记录(右表) .如果没有匹配,右侧将包含 null,在 Mysql 中等同于 left

2021-02-08 16:59:25 390

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除