问题描述:
使用Mycat部署好Mysql读写分离后,使用Sqlyog连接Mycat,双击表查询表数据报错如下:
必须手动输入sql语句才能查询数据。
产生这个问题的原因是数据库工具查询数据的时候使用“库名.表名”的方式,而TESTDB是Mycat产生的虚拟库,真实数据库中并不存在(个人理解)。尝试了很多办法,比如很多帖子说的使用navicat可以解决等等,都不行。
最终解决办法:
我们的目的其实是只要能使用可视化工具操作数据库就可以了,所以我这里给出的解决办法是这样的,替换server.xml和schema.xml中的虚拟库名称TESTDB,修改为真实管理的数据库名称,比如:school。这个school在数据库中是真实存在的,mycat也是操作的这个库。
这样可视化工具查询数据的时候,即使使用“库名.表名”的方式,数据库也是存在的。