Giter Club home page Giter Club logo

mycat-download-old's People

Contributors

apachemycat avatar coderczp avatar linzhiqiang0514 avatar magicdoom avatar stonelion avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mycat-download-old's Issues

MYCAT-web启动后,进去是空白页面

MYCAT-web启动后,进去是空白页面,有人遇到过吗?zk已经启动和配置,但是监听端口的时候,发现没有连接上2181端口,但是两个应用启动都是正常的,也没有防火墙,有详细的配置说明吗?

mycat 1.4 疑似bug

childTable 设置autoIncrement,全局seq并没有起作用。1.3下是可以的。

mycat order by字段值为null报错

order by r.CHECKIN_TIME asc;
CHECKIN_TIME字段有null值,在mycat上执行报错:
[Err] 1105 - java.lang.NullPointerException
但在mysql上执行是可以通过:
Uploading image.png…

分片规则顺序会导致分片不一致

版本Mycat-server-1.4-RC-20150617220132-win.tar
当使用rang-long-id 时,
配置autopartition-long.txt为
0-3=0
3-22=1
3分片在第1个分片上

配置autopartition-long.txt为
3-22=1
0-3=0
3分片在第2个分片上

主备切换后无法负载均衡的问题

MySQLDetector.java中
`@Override
public void onResult(SQLQueryResult<Map<String, String>> result) {
if (result.isSuccess()) {
int balance = heartbeat.getSource().getDbPool().getBalance();
PhysicalDatasource source = heartbeat.getSource();
Map<String, String> resultResult = result.getResult();
if (source.getHostConfig().isShowSlaveSql()
&&(source.getHostConfig().getSwitchType() == DataHostConfig.SYN_STATUS_SWITCH_DS ||
PhysicalDBPool.BALANCE_NONE!=balance )
)
{

            String Slave_IO_Running =resultResult!=null? resultResult.get(
                    "Slave_IO_Running"):null;
            String Slave_SQL_Running = resultResult!=null?resultResult.get(
                    "Slave_SQL_Running"):null;
            if (Slave_IO_Running != null
                    && Slave_IO_Running.equals(Slave_SQL_Running)
                    && Slave_SQL_Running.equals("Yes")) {
                heartbeat.setDbSynStatus(DBHeartbeat.DB_SYN_NORMAL);
                String Seconds_Behind_Master = resultResult.get(
                        "Seconds_Behind_Master");
                if (null != Seconds_Behind_Master
                        && !"".equals(Seconds_Behind_Master)) {
                    heartbeat.setSlaveBehindMaster(Integer
                            .valueOf(Seconds_Behind_Master));
                }
            } else  if(source.isSalveOrRead())
            {
                MySQLHeartbeat.LOGGER
                        .warn("found MySQL master/slave Replication err !!! "
                                + heartbeat.getSource().getConfig());
                heartbeat.setDbSynStatus(DBHeartbeat.DB_SYN_ERROR);
            } 

        }
        heartbeat.setResult(MySQLHeartbeat.OK_STATUS, this,  null);
    } else {
        heartbeat.setResult(MySQLHeartbeat.ERROR_STATUS, this,  null);
    }
    lasstReveivedQryTime = System.currentTimeMillis();
}`

如果主节点挂掉,备节点还未切换成功,就会走到heartbeat.setDbSynStatus(DBHeartbeat.DB_SYN_ERROR);,之后备节点切换成功后,因为Slave_IO_Running一直是“Connecting”,状态无法变回Normal,所以备节点在负载均衡的判断canAsReadNode一直通不过,所以切换后备节点后,如果备节点有读节点,负载均衡不起作用的。
最好再加个
else if (Slave_IO_Running != null && Slave_IO_Running.equals("Connecting")) { MySQLHeartbeat.LOGGER .warn("found MySQL master changed !!! " + heartbeat.getSource().getConfig()); heartbeat.setDbSynStatus(DBHeartbeat.DB_SYN_NORMAL); }

DataNode能否定义到表一级?

使用中发现,DataNode的配置仅有:name、dataHost、database三个属性,没有表一级的配置选项,能够提供到trueTable(真实表)选项。

两表join后,第二排序字段未生效

两个表 customer和customer_addr,用sql语句做关联查询
SELECT customer.,customer_addr. FROM customer,customer_addr WHERE customer.id=customer_addr.customer_id
ORDER BY customer.id,customer_addr.id

查询结果有时未按customer_addr.id排序。

ER关系表,子表字符串分区有误

rule,0:2
t截取了'符号

INSERT INTO topicext(eid,name,tid) values('0','aa','04aaa') err:java.lang.NumberFormatException: For input string: "'0"
java.lang.NumberFormatException: For input string: "'0"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:481)
at org.opencloudb.route.function.PartitionDirectBySubString.calculate(PartitionDirectBySubString.java:48)
at org.opencloudb.route.util.RouterUtil.ruleCalculate(RouterUtil.java:729)
at org.opencloudb.route.util.RouterUtil.routeByERParentKey(RouterUtil.java:640)

PHP连接mysql 字符集乱码

经测试发现在1.4版本中 mycat 支持 set names utf8的写法
不支持 set names ‘utf8’的写法
建议支持 set names ‘utf8’
这种PHP的特殊写法

Mycat 单表查询使用distinct关键字报错

mycat版本 Mycat-server-1.4-alpha-20150528130106-linux.tar.gz

报错原因 在使用mycat时 单表查询用了别名和distinct关键字 示例下:
select distinct a.member_id from sdb_ecorder_orders a where a.shop_id='a5b2de141d965041510406abed059f76' and a.createtime>=1341072000 and a.createtime<1343750400

如果sql语句中包含distinct 并且有别名 报如下错误:
java.sql.SQLException: java.lang.IllegalArgumentException: all columns in group by clause should be in the selected column list.!a.member_id
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3558)
at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:1553)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1409)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:2872)
at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:476)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2576)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:1757)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2167)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2648)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2077)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2228)
at cn.shopex.service.crm.ReportZoomStatistics.wrap810002(ReportZoomStatistics.java:1350)
at cn.shopex.service.crm.ReportZoomStatistics.wrapResult(ReportZoomStatistics.java:990)
at cn.shopex.service.crm.ReportZoomStatistics.handle(ReportZoomStatistics.java:959)
at cn.shopex.service.ServiceHandle.run(ServiceHandle.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

PHP PDO使用参数连接错误

//获取异常数据库
$conn_info=new PDO("mysql:host=127.0.0.1;port=8806;dbname=testdb","test","test",array(PDO::ATTR_ERRMODE => 2, PDO::ATTR_EMULATE_PREPARES => true));
PHP PDO连接MyCAT自从加了两个参数后就报错,导致laravel等使用PDO的加框架不能使用MyCAT

java.sql.SQLException: Transaction error, need to rollback. errno:917 ORA-00917: 缺失逗号

数据库为Oracle,使用jdbc insert时发生这个异常。不使用MyCat直接插入Oracle的话正常。
java.sql.SQLException: Transaction error, need to rollback. errno:917 ORA-00917: 缺失逗号

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)
at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5094)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994)
at com.cmbchina.cc.z390.loader.out.OracleInsertWriter.writeLoop(OracleInsertWriter.java:149)
at com.cmbchina.cc.z390.loader.out.DataWriter.run(DataWriter.java:35)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Sourc

explain的显示bug

explain
/!mycat: sql=select 1 from node_all/
INSERT INTO bas_category
( category_no, category_name, special_code, parent_category_id, level_no, search_code, affiliation,
order_no, enable_flag, creator, create_time, modifier, modify_time, remarks)
VALUES ('0108', '哈', '', '2', '2', '', '', '0', '1', '超级管理员', '2015-08-25 08:21:22',
'超级管理员', '2015-08-25 08:21:22', '');

运行后,显示只在一个节点执行,实际上会在node_all的所有节点执行(希望也是如此),希望能够看看这个bug以免产生误解,谢谢。

EXPLAIN
select 1 from node_all

单独运行这句会显示4个节点

node_all配置如下:




期待Mycat 实现自动offline复制不正常的slave和读写分离Read调度算法更丰富

  1. Mycat 目前版本都没有对slave 复制是否正常做check,自动发现并自动把复制不正常的slave offline掉,确保不会读到复制不正常的slave,期待这个功能加上。
    2.读写分离这块没有对read 没有调度算法,目前看到的只有随机,比如说按照权重比设置几个slave的read的权重,还有根据连接数来调度slave 应该怎么读取?-- 期待read 的调度算法更丰富

Mycat对c#客户端的事务操作【和】Mysql对c#客户端的事务操作不一致

mycat版本:1.5
mysql驱动6.9.7、6.9.9:Mysql.Data.dll
c#实现事务代码如下:

    开始事务操作:BeginTransaction()
    try
    {
        插入一条数据A:executeUpdate()
        提交commit();
    }
    catch (SQLException e)
    {
        回滚操作rollback()
        e.printStackTrace();// 主键冲突异常,这是正常可能出现的业务逻辑
    }

    try
    {
         插入和上述相同的一条数据A:executeUpdate()
    }
    catch (SQLException e)
    {
        e.printStackTrace();
    }

    try
    {
         对上述相同的一条数据A做更新:executeUpdate()
    }
    catch (SQLException e)
    {
        e.printStackTrace();// 【不同点1】
    }

    结束事务操作:endTransaction()

上述代码在mycat环境下【不同点1】处抛出事务嵌套的异常:Nested transactions are not supported.数据update操作不成功。
但在直接连mysql的情况下,【不同点1】处不会报错,最后数据update成功

Mycat 单表查询使用别名的情况下 解析sql别名问题

在查询中使用别名的情况下 between and 不能正确的路由到单个分片,会进行全表扫描

示例:
explain SELECT
member_id
FROM
sdb_ecorder_orders
WHERE
createtime between 1380556800 and 1383235200;
可以正确路由

explain SELECT
a.member_id
FROM
sdb_ecorder_orders a
WHERE
a.createtime between 1380556800 and 1383235200;
就会路由到所有分片

期待Mycat 实现自动offline复制不正常的slave和读写分离Read调度算法更丰富

  1. Mycat 目前版本都没有对slave 复制是否正常做check,自动发现并自动把复制不正常的slave offline掉,确保不会读到复制不正常的slave,期待这个功能加上。
  2. 读写分离这块没有对read 没有调度算法,目前看到的只有随机,比如说按照权重比设置几个slave的read的权重,还有根据连接数来调度slave 应该怎么读取?-- 期待read 的调度算法更丰富。

MyCat配置主从表且主从表都配置全局序列号递增时执行插入从表报错

MyCat配置主从表且主从表都配置全局序列号递增时执行插入从表报错且导致客户端线程一直阻塞,报错信息如下:
oad catelet class:demo.catlets.BatchInsertSequence to run sql insert into xxx(a,b,c,status)

          values(101,108,'1wegwege',1)
     , 
          values(101,109,'remasdsaark',1)

07/30 17:51:38.110 ERROR $_NIOREACTOR-3-RW -BatchInsertSequence.route(......)
com.alibaba.druid.sql.parser.ParserException: syntax error, expect ')'
at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseValueClause(MySqlStatementParser.java:2009)
at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseInsert(MySqlStatementParser.java:1957)
at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseInsert(MySqlStatementParser.java:153)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:160)
at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatement(SQLStatementParser.java:1658)
at demo.catlets.BatchInsertSequence.route(BatchInsertSequence.java:82)
at org.opencloudb.route.handler.HintCatletHandler.route(HintCatletHandler.java:52)

连sqlserver有问题

驱动下载微软官方sqlserver jdbc4.0驱动,2.0我也试过不行,下载地址:
http://www.microsoft.com/zh-cn/download/details.aspx?id=11774。
代码调用的话我是从mysql官网下载Mysql.Data.dll,
下载地址:http://www.mysql.com/products/connector/,我是下的.net版本。
日志都会看到select timediff( curtime(), utc_time() )这么一个错误,客户端和代码调都一样,而且配置好sqlserver库,客户端是无法在mycat中看到表的,日志显示连接成功,但报上面的错误

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.