查看原文
其他

mycat系列-常见问题与解决方案

2016-06-19 IT哈哈

Mycat目前有哪些功能与特性?

答:

•  支持 SQL 92标准

•  支持Mysql集群,可以作为Proxy使用

•  支持JDBC连接多数据库

•  支持NoSQL数据库

•  支持galera for mysql集群,percona-cluster或者mariadb cluster,提供高可用性数据分片集群

•  自动故障切换,高可用性

•  支持读写分离,支持Mysql双主多从,以及一主多从的模式

•  支持全局表,数据自动分片到多个节点,用于高效表关联查询

•  支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询

•  支持一致性Hash分片,有效解决分片扩容难题

•  多平台支持,部署和实施简单

•  支持Catelet开发,类似数据库存储过程,用于跨分片复杂SQL的人工智能编码实现,143行Demo完成跨分片的两个表的JION查询。

•  支持NIO与AIO两种网络通信机制,Windows下建议AIO,Linux下目前建议NIO

•  支持Mysql存储过程调用

•  以插件方式支持SQL拦截和改写

•  支持自增长主键、支持Oracle的Sequence机制

Mycat除了Mysql还支持哪些数据库?

答:mongodb、oracle、sqlserver 、hive 、db2 、 postgresql。

Mycat目前有生产案例了么?

答:目前Mycat初步统计大概60家公司使用。

Mycat稳定性与Cobar如何?

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

Mycat支持集群么?

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

Mycat多主切换需要人工处理么?

答:Mycat通过心跳检测,自主切换数据库,保证高可用性,无须手动切换。

Mycat目前有多少人开发?

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

Mycat目前有哪些项目?

答:

Mycat-Server :Mycat核心服务、

Mycat-spider : Mycat爬虫技术、

Mycat-ConfigCenter :Mycat配置中心 、

Mycat-BigSQL : Mycat大数据处理(暂未更细)、

Mycat-Web : Mycat监控及web(新版开发中) 、

Mycat-Balance :Mycat集群负载(暂未更细)

Mycat最新的稳定版本是哪个到哪里下载?

答:打包代码:Mycat最新稳定版是1.3.0.3 ,1.4为开发板,下载地址是:https://github.com/MyCATApache/Mycat-download。

文档:https://github.com/MyCATApache/Mycat-doc

源码:https://github.com/MyCATApache/Mycat-Server

Mycat如何配置字符集?

答:在配置文件server.xml配置,默认配置为utf8。

<system><property name="charset">utf8</property></system>

Mycat后台管理监控如何使用?

答:9066端口可以用JDBC方式执行命令,在界面上进行管理维护,也可以通过命令行查看命令行操作。

命令行操作是:mysql -h127.0.0.1 -utest -ptest -P9066 登陆,然后执行相应命令。

Mycat主键插入后应用如何获取?

答:获得自增主键,插入记录后执行select last_insert_id()获取。

Mycat如何启动与加入服务?

答:目前Mycat暂未封装加入服务,需要自己封装。

linux环境为:

 ./mycat start 启动

./mycat stop 停止

./mycat console 前台运行

./mycat restart 重启服务

./mycat pause 暂停

./mycat status 查看启动状态

window启动为:

直接双击运行 startup_nowrap.bat ,如果闪退用cmd模式运行查看日志。

Mycat运行sql时经常阻塞或卡死是什么原因?

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

Mycat中,旧系统数据如何迁移到Mycat中?

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

Mycat如何对旧分片数据迁移或扩容,支持自动扩容么?

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

Mycat支持批量插入吗?

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

Mycat支持多表Join吗?

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

Mycat 启动报主机不存在的问题?

答:需要添加ip跟主机的映射。

Mycat连接会报无效数据源(Invalid datasource)?

答:如果不是配置问题,分析具体日志看出错原因,常见的有:

如果是应用连:在某些版本的Mysql驱动下连接Mycat会报错,可升级最新的驱动包试下。

如果是服务端控制台连,确认mysql是否开启远程连接权限,或防火墙是否设置正确,或者数据库database是否配置,或用户名密码是否正确。

Mycat使用中如何提需求或bug?

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

Mycat如何建表与创建存储过程?


答:注意注解中语句是节点的表请替换成自己表如select 1 from 表 ,查出来的数据在那个节点往哪个节点建

存储过程:/*!mycat: sql=select 1 from 表 */  CREATE DEFINER=`root`@`%` PROCEDURE `proc_test`() BEGIN END  ; 表:/*!mycat: sql=select 1 from 表 */create table ttt(id int);

Mycat目前有多少人维护?

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

Mycat支持的或者不支持的语句有哪些?

答:insert into,复杂子查询,3表及其以上跨库join等不支持。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存