一. 测试环境:
1. 2台本地虚拟机,一台阿里云服务器,虚拟机使用桥接模式
2. mycat安装在其中一台虚拟机服务器中
3. 3台服务器都安装了同样版本的mysql,本地虚拟机可以远程访问阿里云服务器的mysql,两台虚拟机mysql可以相互远程访问
二. 说明:
在做分库分表的情况下,order表三个服务器都创建好了,插入3条数据,分表插入到三个服务器的数据库中,本地虚拟机插入成功,阿里云服务器数据无法插入,当使用查询语句查询的时候报错
三. 报错内容
mycat 8066端口登录后,查询任意表提示错误: ERROR 1105 (HY000): backend connect: java.lang.IllegalArgumentException: Invalid DataSource:0
mycat logs 日志文件报错: can't connect to mysql server ,errmsg:Access denied for user 'root'@'182.107.238.228' (using password: YES) MySQLConnection [id=11,
以上ip 182.107.238.228 不知道是哪里的,不是阿里云服务器的也不是本地虚拟机的
网络问题的可能性大。mycat服务器上手工去用mysql client连阿里云服务器上的mysql服务。确认能不能连,确认能不能用root远程去连(可能因为安全性,不允许用root,要用别的账号)。确认能连的账号后,在用mycat去连接试试。
如果方便,可以直接找阿里的客服协助你。
mycat服务器mysql可以手工连接阿里云服务器上的mysql服务,如果在阿里云上使用mysql却不能远程访问本地虚拟机mysql
问题已经解决了,mycat服务器上手工去用mysql client连阿里云服务器上的mysql服务是可以的,但是mycat上配置阿里云mysql 用户root 就不行,改成别的用户就可以了,感谢大佬!