连接SqlServer报错
Open
FletcherDD
opened this issue 4 years ago
•
28 comments
mycat连接SqlServer报错
报错日志如下:
STATUS | wrapper | 2021/07/06 10:50:54 | mycat2 removed.
STATUS | wrapper | 2021/07/06 10:50:59 | mycat2 installed.
STATUS | wrapper | 2021/07/06 10:51:04 | The mycat2 Service is installed.
STATUS | wrapper | 2021/07/06 10:51:04 | Start Type: Automatic
STATUS | wrapper | 2021/07/06 10:51:04 | Interactive: No
STATUS | wrapper | 2021/07/06 10:51:04 | Running: No
STATUS | wrapper | 2021/07/06 10:51:11 | Starting the mycat2 service...
STATUS | wrapper | 2021/07/06 10:51:11 | --> Wrapper Started as Service
STATUS | wrapper | 2021/07/06 10:51:12 | Launching a JVM...
INFO | jvm 1 | 2021/07/06 10:51:12 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO | jvm 1 | 2021/07/06 10:51:12 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved.
INFO | jvm 1 | 2021/07/06 10:51:12 |
INFO | jvm 1 | 2021/07/06 10:51:13 | path:D:\develop\mycat2.0.\conf
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.vertx.core.logging.LoggerFactory - Using io.vertx.core.logging.SLF4JLogDelegateFactory
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] INFO io.mycat.MycatCore - start VertxMycatServer
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.logging.InternalLoggerFactory - Using SLF4J as the default logging framework
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.level: simple
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.ResourceLeakDetector - -Dio.netty.leakDetection.targetRecords: 4
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - Platform: Windows
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - -Dio.netty.noUnsafe: false
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - Java version: 8
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.theUnsafe: available
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - sun.misc.Unsafe.copyMemory: available
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Buffer.address: available
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - direct buffer constructor: available
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.Bits.unaligned: available, true
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - jdk.internal.misc.Unsafe.allocateUninitializedArray(int): unavailable prior to Java9
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent0 - java.nio.DirectByteBuffer.(long, int): available
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - sun.misc.Unsafe: available
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.tmpdir: C:\WINDOWS\system32\config\systemprofile\AppData\Local\Temp (java.io.tmpdir)
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.bitMode: 64 (sun.arch.data.model)
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.maxDirectMemory: 3817865216 bytes
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.uninitializedArrayAllocationThreshold: -1
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.CleanerJava6 - java.nio.ByteBuffer.cleaner(): available
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - -Dio.netty.noPreferDirect: false
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.channel.MultithreadEventLoopGroup - -Dio.netty.eventLoopThreads: 8
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.initialSize: 1024
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.InternalThreadLocalMap - -Dio.netty.threadLocalMap.stringBuilder.maxSize: 4096
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.noKeySetOptimization: false
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.channel.nio.NioEventLoop - -Dio.netty.selectorAutoRebuildThreshold: 512
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.internal.PlatformDependent - org.jctools-core.MpscChunkedArrayQueue: available
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider - Default DNS servers: [/10.100.1.1:53, /10.100.1.2:53] (sun.net.dns.ResolverConfiguration)
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv4Stack: false
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - -Djava.net.preferIPv6Addresses: false
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - Loopback interface: lo (Software Loopback Interface 1, 127.0.0.1)
INFO | jvm 1 | 2021/07/06 10:51:13 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200
INFO | jvm 1 | 2021/07/06 10:51:13 | log4j:WARN No appenders could be found for logger (com.alibaba.druid.pool.DruidDataSource).
INFO | jvm 1 | 2021/07/06 10:51:13 | log4j:WARN Please initialize the log4j system properly.
INFO | jvm 1 | 2021/07/06 10:51:13 | log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] DEBUG io.mycat.datasource.jdbc.datasource.JdbcConnectionManager -
INFO | jvm 1 | 2021/07/06 10:51:13 | java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerDriver
INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:677)
INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.resolveDriver(DruidDataSource.java:1210)
INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:879)
INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1389)
INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1385)
INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:100)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:130)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:117)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.heartbeat(JdbcConnectionManager.java:209)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:197)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748)
INFO | jvm 1 | 2021/07/06 10:51:13 | Caused by: java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
INFO | jvm 1 | 2021/07/06 10:51:13 | at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Class.forName0(Native Method)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Class.forName(Class.java:264)
INFO | jvm 1 | 2021/07/06 10:51:13 | at com.alibaba.druid.util.JdbcUtils.createDriver(JdbcUtils.java:675)
INFO | jvm 1 | 2021/07/06 10:51:13 | ... 13 more
INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] INFO io.mycat.replica.heartbeat.HeartbeatFlow - prototypeDs heartStatus DatasourceStatus(status=ERROR_STATUS, isSlaveBehindMaster=false, dbSynStatus=DB_SYN_NORMAL, master=false)
INFO | jvm 1 | 2021/07/06 10:51:13 | SLF4J: Failed toString() invocation on an object of type [java.util.concurrent.CopyOnWriteArrayList]
INFO | jvm 1 | 2021/07/06 10:51:13 | Reported exception:
INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.config.ConfigPrepareExecuter.lambda$fullInitBy$6(ConfigPrepareExecuter.java:181)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaSelectorRuntime.lambda$registerDatasource$7(ReplicaSelectorRuntime.java:262)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.getSessionCounter(PhysicsInstanceImpl.java:107)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.toString(PhysicsInstanceImpl.java:26)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.String.valueOf(String.java:2994)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Arrays.toString(Arrays.java:4571)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:1013)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:354)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:496)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:190)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.heartbeat(JdbcConnectionManager.java:224)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:197)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748)
INFO | jvm 1 | 2021/07/06 10:51:13 | SLF4J: Failed toString() invocation on an object of type [java.util.concurrent.CopyOnWriteArrayList]
INFO | jvm 1 | 2021/07/06 10:51:13 | Reported exception:
INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.config.ConfigPrepareExecuter.lambda$fullInitBy$6(ConfigPrepareExecuter.java:181)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaSelectorRuntime.lambda$registerDatasource$7(ReplicaSelectorRuntime.java:262)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.getSessionCounter(PhysicsInstanceImpl.java:107)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.toString(PhysicsInstanceImpl.java:26)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.String.valueOf(String.java:2994)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Arrays.toString(Arrays.java:4571)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:1013)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:354)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:496)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:190)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.heartbeat(JdbcConnectionManager.java:224)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:197)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748)
INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] INFO io.mycat.replica.ReplicaDataSourceSelector - [FAILED toString()] switch master to [FAILED toString()]
INFO | jvm 1 | 2021/07/06 10:51:13 | SLF4J: Failed toString() invocation on an object of type [java.util.concurrent.CopyOnWriteArrayList]
INFO | jvm 1 | 2021/07/06 10:51:13 | Reported exception:
INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.config.ConfigPrepareExecuter.lambda$fullInitBy$6(ConfigPrepareExecuter.java:181)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaSelectorRuntime.lambda$registerDatasource$7(ReplicaSelectorRuntime.java:262)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.getSessionCounter(PhysicsInstanceImpl.java:107)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.toString(PhysicsInstanceImpl.java:26)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.String.valueOf(String.java:2994)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Arrays.toString(Arrays.java:4571)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:1013)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:354)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:496)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:190)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:199)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748)
INFO | jvm 1 | 2021/07/06 10:51:13 | SLF4J: Failed toString() invocation on an object of type [java.util.concurrent.CopyOnWriteArrayList]
INFO | jvm 1 | 2021/07/06 10:51:13 | Reported exception:
INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.config.ConfigPrepareExecuter.lambda$fullInitBy$6(ConfigPrepareExecuter.java:181)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaSelectorRuntime.lambda$registerDatasource$7(ReplicaSelectorRuntime.java:262)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.getSessionCounter(PhysicsInstanceImpl.java:107)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.PhysicsInstanceImpl.toString(PhysicsInstanceImpl.java:26)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.String.valueOf(String.java:2994)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Arrays.toString(Arrays.java:4571)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.CopyOnWriteArrayList.toString(CopyOnWriteArrayList.java:1013)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.safeObjectAppend(MessageFormatter.java:277)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.deeplyAppendParameter(MessageFormatter.java:249)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:211)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.arrayFormat(MessageFormatter.java:161)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.helpers.MessageFormatter.format(MessageFormatter.java:151)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.formatAndLog(SimpleLogger.java:354)
INFO | jvm 1 | 2021/07/06 10:51:13 | at org.slf4j.impl.SimpleLogger.info(SimpleLogger.java:496)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:190)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:199)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748)
INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] INFO io.mycat.replica.ReplicaDataSourceSelector - [FAILED toString()] switch master to [FAILED toString()]
INFO | jvm 1 | 2021/07/06 10:51:13 | [pool-2-thread-1] ERROR io.vertx.core.impl.future.FutureImpl -
INFO | jvm 1 | 2021/07/06 10:51:13 | java.lang.NullPointerException
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.Objects.requireNonNull(Objects.java:203)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.MetaClusterCurrent.wrapper(MetaClusterCurrent.java:14)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.updateFile(ReplicaDataSourceSelector.java:202)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.switchWriteDataSource(ReplicaDataSourceSelector.java:191)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.ReplicaDataSourceSelector.notifySwitchReplicaDataSource(ReplicaDataSourceSelector.java:282)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.DefaultHeartbeatFlow.sendDataSourceStatus(DefaultHeartbeatFlow.java:80)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setError(HeartbeatFlow.java:92)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.HeartbeatFlow.setStatus(HeartbeatFlow.java:75)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.replica.heartbeat.strategy.MySQLMasterSlaveBeatStrategy.onException(MySQLMasterSlaveBeatStrategy.java:90)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager$1.lambda$accept$0(JdbcConnectionManager.java:199)
INFO | jvm 1 | 2021/07/06 10:51:13 | at io.mycat.IOExecutor$1VertxIOExecutor.lambda$executeBlocking$0(IOExecutor.java:54)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
INFO | jvm 1 | 2021/07/06 10:51:13 | at java.lang.Thread.run(Thread.java:748)
STATUS | wrapper | 2021/07/06 10:51:17 | mycat2 started.
STATUS | wrapper | 2021/07/06 10:51:23 | The mycat2 Service is installed.
STATUS | wrapper | 2021/07/06 10:51:23 | Start Type: Automatic
STATUS | wrapper | 2021/07/06 10:51:23 | Interactive: No
STATUS | wrapper | 2021/07/06 10:51:23 | Running: Yes
INFO | jvm 1 | 2021/07/06 10:52:13 |
INFO | jvm 1 | 2021/07/06 10:52:13 | WrapperSimpleApp: Encountered an error running main: io.mycat.MycatException: ERROR-CODE: [MYCAT-3036][ERR_INIT_CONFIG] start FileMetadataStorageManager fail
INFO | jvm 1 | 2021/07/06 10:52:13 | io.mycat.MycatException: ERROR-CODE: [MYCAT-3036][ERR_INIT_CONFIG] start FileMetadataStorageManager fail
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.beans.mycat.MycatErrorCode.createMycatException(MycatErrorCode.java:156)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:211)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:204)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MycatCore.start(MycatCore.java:222)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MycatCore.main(MycatCore.java:235)
INFO | jvm 1 | 2021/07/06 10:52:13 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2021/07/06 10:52:13 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO | jvm 1 | 2021/07/06 10:52:13 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO | jvm 1 | 2021/07/06 10:52:13 | at java.lang.reflect.Method.invoke(Method.java:498)
INFO | jvm 1 | 2021/07/06 10:52:13 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
INFO | jvm 1 | 2021/07/06 10:52:13 | at java.lang.Thread.run(Thread.java:748)
INFO | jvm 1 | 2021/07/06 10:52:13 | Caused by: io.mycat.MycatException: ERROR-CODE: [MYCAT-3002][ERR_FETCH_METADATA] MetadataManager init fail
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.beans.mycat.MycatErrorCode.createMycatException(MycatErrorCode.java:156)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MetadataManager.createMetadataManager(MetadataManager.java:133)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.ConfigPrepareExecuter.fullInitBy(ConfigPrepareExecuter.java:209)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.ConfigPrepareExecuter.prepareRuntimeObject(ConfigPrepareExecuter.java:133)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager.commitAndSyncDisk(FileMetadataStorageManager.java:271)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager$1.commit(FileMetadataStorageManager.java:250)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:209)
INFO | jvm 1 | 2021/07/06 10:52:13 | ... 9 more
INFO | jvm 1 | 2021/07/06 10:52:13 | Caused by: java.lang.NullPointerException
INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(DruidDataSource.java:1727)
INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1415)
INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1395)
INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1385)
INFO | jvm 1 | 2021/07/06 10:52:13 | at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:100)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:130)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.datasource.jdbc.datasource.JdbcConnectionManager.getConnection(JdbcConnectionManager.java:117)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MetadataManager.(MetadataManager.java:167)
INFO | jvm 1 | 2021/07/06 10:52:13 | at io.mycat.MetadataManager.createMetadataManager(MetadataManager.java:126)
INFO | jvm 1 | 2021/07/06 10:52:13 | ... 14 more
STATUS | wrapper | 2021/07/06 10:52:15 | <-- Wrapper Stopped
STATUS | wrapper | 2021/07/06 10:52:50 | The mycat2 Service is installed.
STATUS | wrapper | 2021/07/06 10:52:50 | Start Type: Automatic
STATUS | wrapper | 2021/07/06 10:52:50 | Interactive: No
STATUS | wrapper | 2021/07/06 10:52:50 | Running: No
配置文件
prototypeDs.datasource.json
{
"dbType":"jdbc",
"idleTimeout":60000,
"initSqls":[],
"initSqlsGetConnection":true,
"instanceType":"READ_WRITE",
"maxCon":1000,
"maxConnectTimeout":3000,
"maxRetryCount":5,
"minCon":1,
"name":"prototypeDs",
"password":"*************",
"type":"JDBC",
"url":"jdbc:sqlserver://sqlserveraddress:1433;DatabaseName=test20210702",
"user":"*****************",
"weight":0
}
test20210702.schema.json
{
"customTables":{},
"globalTables":{},
"normalTables":{
"test_user":{
"createTableSQL":"CREATE TABLE test20210702.test_user (id INT NULL DEFAULT NULL,name VARCHAR(50) NULL DEFAULT NULL)",
"locality":{
"schemaName":"test20210702",
"tableName":"test_user",
"targetName":"prototype"
}
}
},
"schemaName":"test20210702",
"shadingTables":{},
"targetName":"prototype"
}
其他配置均默认,schemas目录下的mysql.schema.json已删除
执行命令
D:\develop\mycat2.0\bin>mycat remove
wrapper | mycat2 removed.
D:\develop\mycat2.0\bin>mycat install
wrapper | mycat2 installed.
D:\develop\mycat2.0\bin>mycat status
wrapper | The mycat2 Service is installed.
wrapper | Start Type: Automatic
wrapper | Interactive: No
wrapper | Running: No
D:\develop\mycat2.0\bin>mycat start
wrapper | Starting the mycat2 service...
wrapper | mycat2 started.
D:\develop\mycat2.0\bin>mycat status
wrapper | The mycat2 Service is installed.
wrapper | Start Type: Automatic
wrapper | Interactive: No
wrapper | Running: Yes
D:\develop\mycat2.0\bin>mycat status
wrapper | The mycat2 Service is installed.
wrapper | Start Type: Automatic
wrapper | Interactive: No
wrapper | Running: No
执行环境
SqlServer 2016 Windows Server 2012
mycat安装运行 win10
需要一个mysql服务器或者配置一个集群名字充当原型库(prototype)
https://www.yuque.com/ccazhw/ml3nkf/fb2285b811138a442eb850f0127d7ea3
架构里面需要一个原型库(mysql)
https://www.yuque.com/ccazhw/ml3nkf/fb2285b811138a442eb850f0127d7ea3
架构里面需要一个原型库(mysql)
我现在还有一台mysql服务器,那么prototype该怎么配置,文档中好像没有相关配置说明
在安装包里面有一个prototype.cluster.json
先保证mysql下能启动,并设置表,确认无误后再把存储节点换成sqlserver
在安装包里面有一个prototype.cluster.json
在prototype.cluster.json中怎么配置prototype服务器?好像只能配置主从数据库
datasource中数据源改成mysql的服务器后可以正常启动,之后换成SqlServer依然报错
prototype必须是mysql服务器,其他集群或者数据源可以是任意数据源,非mysql集群要把集群的心跳配置去掉
"heartbeat":{
"heartbeatTimeout":1000,
"maxRetryCount":3,//2021-6-4前是maxRetry,后更正为maxRetryCount
"minSwitchTimeInterval":300,
"slaveThreshold":0
},
prototype必须是mysql服务器,其他集群或者数据源可以是任意数据源,非mysql集群要把集群的心跳配置去掉
"heartbeat":{
"heartbeatTimeout":1000,
"maxRetryCount":3,//2021-6-4前是maxRetry,后更正为maxRetryCount
"minSwitchTimeInterval":300,
"slaveThreshold":0
},
现在我需要用的是SqlServer作为数据库服务器,应该怎么把mysql服务器作为prototype加到配置中?
默认就是mysql作为prototype服务器
比如我datasources目录下配置mysql数据源mysql.datasource.json和sqlserver数据源sqlserver.datasource.json
那么clusters目录下的prototype.cluster.json该怎么配置
"masters":[
"mysql"
],
"replicas":[
"sqlserver"
]
"masters":[
"sqlserver"
],
"replicas":[
"mysql"
]
"masters":[
"mysql","sqlserver"
]
"masters":[
"mysql"
],
"replicas":[
]
"masters":[
"mysql"
],
"replicas":[
]
这样启动时仍然有java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver的报错
sqlserver也并没有加入进去的样子,连接mycat执行sql语句创建了一个库,mysql服务器会有,但sqlserver服务器没有创建这个库
com.microsoft.sqlserver.jdbc.SQLServerDriver 这个驱动需要自己加入,放在lib文件夹下面.
非mysql数据源,建物理表需要自己处理,所以你可以使用mysql的服务器建好了,再切换到sqlserver数据源(通过mycat直接建库建表生成的sql建库建表是mysql方言的,在sqlserver上面报错)
com.microsoft.sqlserver.jdbc.SQLServerDriver 这个驱动需要自己加入,放在lib文件夹下面.
非mysql数据源,建物理表需要自己处理,所以你可以使用mysql的服务器建好了,再切换到sqlserver数据源(通过mycat直接建库建表生成的sql建库建表是mysql方言的,在sqlserver上面报错)
将微软最新的sqljdbc42.jar包放到lib目录下后,启动时报错警告,但也能运行起来
INFO | jvm 1 | 2021/07/06 16:52:00 | [WrapperSimpleAppMain] WARN io.mycat.config.ConfigPrepareExecuter - try readXARecoveryLog
INFO | jvm 1 | 2021/07/06 16:52:00 | com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'if' 附近有语法错误。
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1635)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:426)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:372)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:6276)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1794)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:184)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:159)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:315)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.alibaba.druid.pool.DruidPooledPreparedStatement.executeUpdate(DruidPooledPreparedStatement.java:255)
INFO | jvm 1 | 2021/07/06 16:52:00 | at com.alibaba.druid.util.JdbcUtils.executeUpdate(JdbcUtils.java:713)
INFO | jvm 1 | 2021/07/06 16:52:00 | at cn.mycat.vertx.xa.impl.XaLogImpl.readXARecoveryLog(XaLogImpl.java:202)
INFO | jvm 1 | 2021/07/06 16:52:00 | at cn.mycat.vertx.xa.impl.XaLogImpl.readXARecoveryLog(XaLogImpl.java:195)
INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.ConfigPrepareExecuter.commit(ConfigPrepareExecuter.java:387)
INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.FileMetadataStorageManager.commitAndSyncDisk(FileMetadataStorageManager.java:346)
INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.FileMetadataStorageManager$1.commit(FileMetadataStorageManager.java:250)
INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:209)
INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.config.FileMetadataStorageManager.start(FileMetadataStorageManager.java:204)
INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.MycatCore.start(MycatCore.java:222)
INFO | jvm 1 | 2021/07/06 16:52:00 | at io.mycat.MycatCore.main(MycatCore.java:235)
INFO | jvm 1 | 2021/07/06 16:52:00 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2021/07/06 16:52:00 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO | jvm 1 | 2021/07/06 16:52:00 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO | jvm 1 | 2021/07/06 16:52:00 | at java.lang.reflect.Method.invoke(Method.java:498)
INFO | jvm 1 | 2021/07/06 16:52:00 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240)
INFO | jvm 1 | 2021/07/06 16:52:00 | at java.lang.Thread.run(Thread.java:748)
在mysql、sqlserver建了相同的物理表,连接mycat执行插入语句后,mysql相应的表中有插入这些数据,sqlserver中没有
{
"dbType": "sqlserver",
"idleTimeout": 60000,
"initSqls": [],
"initSqlsGetConnection": true,
"instanceType": "READ_WRITE",
"maxCon": 1000,
"maxConnectTimeout": 3000,
"maxRetryCount": 5,
"minCon": 1,
"name": "prototype",
"password": "123456",
"type": "JDBC",
"url": "jdbc: .....
"user": "root",
"weight": 0
}
dbType设置成sqlserver再看看,如果能查询但是插入语句有问题,应该有其他报错的
{
"dbType": "sqlserver",
"idleTimeout": 60000,
"initSqls": [],
"initSqlsGetConnection": true,
"instanceType": "READ_WRITE",
"maxCon": 1000,
"maxConnectTimeout": 3000,
"maxRetryCount": 5,
"minCon": 1,
"name": "prototype",
"password": "123456",
"type": "JDBC",
"url": "jdbc: .....
"user": "root",
"weight": 0
}
dbType设置成sqlserver再看看,如果能查询但是插入语句有问题,应该有其他报错的
启动时还是一样的报错警告,执行插入语句也一样,是不是没连接上sqlserver服务器
这是最新的1.19吗,你测试一下查询是否正常
是mycat2-1.19-jar-with-dependencies-2021-7-3.jar
查询正常,插入只影响了mysql服务器的数据库
有其他错误日志吗
只有那一个“关键字 'if' 附近有语法错误。“
还有一个警告是启动时log4j的
INFO | jvm 1 | 2021/07/06 17:15:47 | [WrapperSimpleAppMain] DEBUG io.netty.util.NetUtil - Failed to get SOMAXCONN from sysctl and file \proc\sys\net\core\somaxconn. Default: 200
INFO | jvm 1 | 2021/07/06 17:15:48 | log4j:WARN No appenders could be found for logger (com.alibaba.druid.pool.DruidDataSource).
INFO | jvm 1 | 2021/07/06 17:15:48 | log4j:WARN Please initialize the log4j system properly.
INFO | jvm 1 | 2021/07/06 17:15:48 | log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
上面贴的那些错是正常的,一个是无法执行mysql xa恢复,其余的都是警告,现在看插入数据为啥报错,估计是自增主键获取不了,你可以试试update或者delete语句
上面贴的那些错是正常的,一个是无法执行mysql xa恢复,其余的都是警告,现在看插入数据为啥报错,估计是自增主键获取不了,你可以试试update或者delete语句
update和delete也一样,mysql的表正常,sqlserver的表没有影响,也没有报错
http://dl.mycat.org.cn/2.0/1.19-release/no-autogeneratekeys/
试试这个,不行就得看具体环境看源码哪里有问题
http://dl.mycat.org.cn/2.0/1.19-release/no-autogeneratekeys/
试试这个,不行就得看具体环境看源码哪里有问题
和之前一样,感觉没连接上sqlserver服务器
之前有人用过sqlsevrer与
mysql联合查询,但是插入没有用过
之前有人用过sqlsevrer与
mysql联合查询,但是插入没有用过
这里allMatchMySQL=false也调用了readXARecoveryLog,里面的sql语句在sqlserver报错了