mycat连接管理数据库,操作表时报ERROR 3009 (HY000): java.lang.IllegalArgumentException: Invalid DataSource:0

困扰了一上午,没有解决,mycat权威指南里是这样描述的。

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

答:例如报错:mysql> select * from company; 
ERROR 3009 (HY000): Java.lang.IllegalArgumentException: Invalid DataSource:0 
这类错误最常见是一些配置问题例如schema.xml中的dataNode的配置和实际不符合,请先仔细检查配置项,确保配置没有问题。如果不是配置问题,分析具体日志看出错原因,常见的有: 
如果是应用连:在某些版本的Mysql驱动下连接Mycat会报错,可升级最新的驱动包试下。 
如果是服务端控制台连,确认mysql是否开启远程连接权限,或防火墙是否设置正确,或者数据库database是否配置,或用户名密码是否正确。

我确实检查了好多遍,肯定不是schema.xml错误,mysql开启了远程连接权限,防火墙也设置正确,用户名和密码正确

最后在网上看到了

Mycat安装后,一直报错ERROR 3009 (HY000): Java.lang.IllegalArgumentException: Invalid DataSource:0 错误,明显是链接后面的MYSQL有问题,但是MYSQL配置也没错,后来发现MYSQL新安装以后是不能用-h 127.0.0.1来登录,只能sock登录,所以登录mysql后修改ROOT用户,update user set host = '%' where user = 'root'; ,重启服务后一切正常了
果断把mysql中的mysql.user表中的root 用户的 host改为%后,重启mysql,mycat连接后就可以操作表了。万分感谢!

你可能感兴趣的:(mycat)