1.如果集群中配置了名为prototype的集群,则使用它作为prototype
    2.如果数据源中存在prototypeDs的数据源,但是没有名为prototype的集群,则自动创建主数据源为prototypeDs的prototype集群
    3.如果集群和数据源中没有prototype也没有prototypeDs,则选择数据源中第一个数据源类型为mysql类型的数据源作为prototype集群的主数据源,如果没有
    4.上述都不适用的情况下,使用第一个数据源作为prototype的集群的主数据源
    5.如果没有数据源,则不处理

    mysql库下有一个虚拟表,dual表,只有一行X
    mysql,information,performance_schema一般都是虚拟表,不可写入,不可删除,但可以使用表配置把他们覆盖掉(2021-12-30)

    SHOW DATABASES
    在Mycat中响应

    1. SHOW DATABASES;
    2. SHOW DATABASES LIKE 'xxxxx';//like暂时不支持模糊匹配

    SHOW TABLES from xxxx LIKE ‘xxxx’;
    在Mycat中响应

    1. SHOW TABLES from xxxx;
    2. SHOW TABLES from xxxx LIKE 'xxxx';//like暂时不支持模糊匹配

    SHOW COLUMNS
    在Mycat中响应

    1. SHOW FULL FIELDS FROM `xxx`.`xxx`;
    2. SHOW COLUMNS FIELDS FROM `xxx`.`xxx`;

    SHOW TABLE STATUS
    在Mycat中响应

    1. show table status like 'tableName'

    SHOW CREATE DATABASE
    在Mycat中响应

    1. show create database ddd

    SHOW CEARE TABLE
    在Mycat中响应

    1. show create table ddd

    SHOW ENGINES
    Mycat自行响应

    SHOW VARIABLES
    SHOW WARNINGS
    SHOW PROCEDURE STATUS
    SHOW ERRORS
    SHOW KEYS
    SHOW CREATE FUNCTIONS
    SHOW COLLATION
    SHOW CHARACTER SET
    SHOW STATUS
    优先使用原型库处理,没有原型库则Mycat自行响应

    使用原型库处理的意思是客户端发送到mycat中的此类SQL,mycat会把他们转发到原型库中处理,然后把响应转发到客户端,所以要求原型库具有处理show语句的能力,要求原型库有逻辑库逻辑表的结构的物理库物理表.但mycat在一些重要的sql,比如show databases/table中是自行响应的,而不重要不支持的部分转发到原型库mysql中处理,保证一定的兼容性又不严重依赖mysql.