2019-09-07 14:22:56.474  INFO [$_NIOConnector] (io.mycat.net.AbstractConnection.close(AbstractConnection.java:520)) - close connection,reas[id=0, lastTime=1567837373465, user=discuz, schema=discuz, old shema=discuz, borrowed=false, fromSlaveDB=false, threadId=0, charset=utf8, t=mysql2, port=3306, statusSync=null, writeQueue=0, modifiedSQLExecuted=false]
2019-09-07 14:22:56.474  INFO [$_NIOConnector] (io.mycat.sqlengine.SQLJob.connectionError(SQLJob.java:125)) - can't get connection for sql 
2019-09-07 14:22:56.474 ERROR [$_NIOConnector] (io.mycat.backend.heartbeat.MySQLHeartbeat.nextDector(MySQLHeartbeat.java:215)) - set Error 
2019-09-07 14:22:56.474  INFO [$_NIOConnector] (io.mycat.backend.datasource.PhysicalDatasource$1$1.connectionError(PhysicalDatasource.java:
2019-09-07 14:23:03.466  INFO [Timer1] (io.mycat.backend.datasource.PhysicalDatasource.getConnection(PhysicalDatasource.java:540)) - no ild
2019-09-07 14:23:03.466  INFO [Timer1] (io.mycat.backend.datasource.PhysicalDatasource.getConnection(PhysicalDatasource.java:540)) - no ild
2019-09-07 14:23:06.474 ERROR [$_NIOConnector] (io.mycat.net.NIOConnector.finishConnect(NIOConnector.java:155)) - error:
java.net.NoRouteToHostException: No route to host
at sun.nio.ch.SocketChannelImpl.checkConne
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) ~[?:1.8.0_211]
at io.mycat.net.NIOConnector.finishConnect(NIOConnector.java:165) ~[Mycat-server-1.6.6.1-release.jar:?]
at io.mycat.net.NIOConnector.finishConnect(NIOConnector.java:143) ~[Mycat-server-1.6.6.1-release.jar:?]
at io.mycat.net.NIOConnector.run(NIOConnector.java:98) ~[Mycat-server-1.6.6.1-release.jar:?]
启动以后有mycat端口,通过mysql命令也能连接mycat而且能访问数据库,就是打开mycat日志的时候不断报上面的错误

解决方案 »

  1.   

    我之前也碰到这个问题,最后发现是因为修改了用户密码,但是没改mycat里面schema.xml配置。
    你的日子里面有:
    2019-09-07 14:22:56.474  INFO [$_NIOConnector] (io.mycat.net.AbstractConnection.close(AbstractConnection.java:520)) - close connection,reas[id=0, lastTime=1567837373465, user=discuz, schema=discuz, old shema=discuz, borrowed=false, fromSlaveDB=false, threadId=0, charset=utf8, t=mysql2, port=3306, statusSync=null, writeQueue=0, modifiedSQLExecuted=false]
    可以检查下这个用户的连接信息是不是对的。