Mycat:ERROR 3009 (HY000) java.lang.IllegalArgumentException Invalid DataSource0

本文详细解析了Mycat中出现ERROR3009(HY000)错误的原因,该错误通常由无效的数据源引起。通过调整MySQL的root用户权限,特别是针对不同IP和本地地址的登录方式,可以有效解决这一问题。文章提供了具体的步骤,包括如何在mysql的user表中统一密码设置,以及重启服务后的验证方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Mycat:ERROR 3009 (HY000) java.lang.IllegalArgumentException Invalid DataSource0

问题分析:无效的数据源,我这的情况是由于mycat的逻辑库无法获得真实库的数据导致的错误。

问题解决:我这新安装的mysql(Percona),在设置本地登录root/root用户权限后:mysqladmin -uroot password ‘root’,没有给mysql其它通过ip或者本地127.0.0.1登录方式添加密码,因此如果通过mycat登录时有密码的话,就匹配不上,所以mycat无法获取源数据库的数据导致错误,只要通过SQLyog登录上mysql的user表格(mysql->user),直接localhost上密码复制到其它ip、127.0.0.1等行password上就好了。顺手直接把其它的登录方式密码也直接复制粘贴并保存,重新启动数据库:service mysql restart 。就可以通过mycat重新连接上了。或者通过命令行登录上mysql去修改对应表格。

修改前表格user:

修改后表格user:

 

希望你可以解决问题

Running mycat2... wrapper | --> Wrapper Started as Console wrapper | Launching a JVM... jvm 1 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org jvm 1 | Copyright 1999-2006 Tanuki Software, Inc. All Rights Reserved. jvm 1 | jvm 1 | path:/usr/local/mycat/./conf jvm 1 | 2025-07-10 22:31:40,489[ERROR]io.mycat.replica.ReplicaSelectorRuntime.registerDatasource:268ignored prototypeDs jvm 1 | 2025-07-10 22:31:40,496[INFO]com.alibaba.druid.pool.DruidDataSource.close:2043{dataSource-0} closing ... jvm 1 | 2025-07-10 22:31:40,496[INFO]io.mycat.datasource.jdbc.datasource.JdbcDataSource.lambda$close$0:150JdbcDataSource:writeDS closed jvm 1 | jvm 1 | WrapperSimpleApp: Encountered an error running main: java.lang.IllegalArgumentException: ignored prototypeDs jvm 1 | java.lang.IllegalArgumentException: ignored prototypeDs jvm 1 | at io.mycat.replica.ReplicaSelectorRuntime.registerDatasource(ReplicaSelectorRuntime.java:269) jvm 1 | at io.mycat.replica.ReplicaSelectorRuntime.addCluster(ReplicaSelectorRuntime.java:247) jvm 1 | at io.mycat.replica.ReplicaSelectorRuntime.<init>(ReplicaSelectorRuntime.java:83) jvm 1 | at io.mycat.config.MycatRouterConfigOps.getReplicaSelectorManager(MycatRouterConfigOps.java:752) jvm 1 | at io.mycat.config.MycatRouterConfigOps.commit(MycatRouterConfigOps.java:521) jvm 1 | at io.mycat.sqlhandler.ConfigUpdater.load(ConfigUpdater.java:60) jvm 1 | at io.mycat.sqlhandler.ConfigUpdater.loadConfigFromFile(ConfigUpdater.java:41) jvm 1 | at io.mycat.MycatCore.startServer(MycatCore.java:218) jvm 1 | at io.mycat.MycatCore.main(MycatCore.java:237) jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) jvm 1 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) jvm 1 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) jvm 1 | at java.lang.reflect.Method.invoke(Method.java:498) jvm 1 | at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) jvm 1 | at java.lang.Thread.run(Thread.java:748)
07-11
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值