用于无法登录github的用户提交问题或者资料等,该文档无需授权就可以编辑,但是需要语雀账号

1.为什么能在图形化客户端(Navicat,SQlyog)看到表,但是点击后mycat提示表不存在?
因为mycat中没有配置该表,而原型库处理show语句的机制导致图形化客户端显示了没有配置的表

2.如何怎么把已经存在的物理表加载到mycat中?
使用schema配置中的targetName,指向目标数据源或者集群,同时保证schema的名字与目标的库相同,即可自动加载该库已经存在的物理表

3.支持强一致分布式事务吗?
mycat的事务方案没有对存储节点(mysql)有特殊的需求,对于一些事务内跨库的情况,会出现事务数据不一致的情况,比如读不一致.但对于不跨实例(跨库)的情况,比如单库分表,是强一致的.

4.遇到超时报错怎么办?
修改数据源的超时参数

5.支持mysql8吗,支持mysql5.6吗?
都支持,都有用户使用

6.支持ORM吗,比如Spring Data?
支持

7.支持PHP客户端吗?
支持

8.支持存储过程吗?
1.21后开始支持

9.支持物理库中的视图吗?
支持,把它作为单表配置就可以

10.支持跨库join吗?
支持

11.支持golang客户端吗?
支持

12.涉及分片表的时候,发现总是使用一个连接或者使用连接数量偏小,没有并行查询,怎么优化?
调整server.json的mergeUnionSize参数

13.支持物理视图吗?
先把建视图语句以建表语句方式表达,mycat2需要从建表语句中得出字段信息.然后以单表方式配置就可以

  1. dbNum跟storeNum实际上有什么区别呢,目前都是dbNum=storeNum的,假如dbNum比storeNum多的话,这样就存不了吗?
    image.png
    在自动分区的语义下,dbNum* tableNum 是分区数量
    这些分区依次排列在storeNum数量的组上 ,
    当dbNum=storeNum,每个数据库的分区数就是tableNum
    当dbNum>storeNum,那么一个数据库上面会出现分库分表的情况,分区数大于tableNum

13.无符号值类型被当做有符号值类型?
该问题在涉及单节点查询是不会出现,在多节点查询或者无表sql会出现,因为查询引擎暂时不支持无符号类型

14.mysql官方客户端在使用use schema后卡住了,怎么处理
启动客户端的时候加上-A参数

或者添加-A后缀

  1. use schema -A

15.如何调用mysql上的自定义函数?
a.使用路由注释
b.把函数写在最内层的select查询利就可以,同时该子查询涉及是单表,分片表,全局表

16.mycat2支持配置记录执行的SQL,或者慢查询嘛?

第一种方法使用注释查询慢SQL
/+mycat:showSlowSql/
内置sql记录器,记录大于30s的sql,最近5000条sql

第二种是使用自定义的监控器
SELECT * FROM mycat.sql_log LIMIT 0, 1000;
所需表在这里获取并在原型库创建
https://www.yuque.com/ccazhw/ml3nkf/lb0fbe

image.png
https://www.yuque.com/ccazhw/ml3nkf/gwx15x

17.如何动态覆盖分片表配置?
在mycat2里执行通过注释更新配置

  1. /*+ mycat:createTable{
  2. "schemaName":"db1",
  3. "shardingTable":{
  4. "createTableSQL":"create table sharding(id int)",
  5. "function":{
  6. "properties":{
  7. "dbNum":2,
  8. "mappingFormat":"c${targetIndex}/db1_${dbIndex}/sharding_${index}",
  9. "tableNum":2,
  10. "tableMethod":"mod_hash(id)",
  11. "storeNum":2,
  12. "dbMethod":"mod_hash(id)"
  13. }
  14. },
  15. "partition":{
  16. "data":[["c0","db1","t2","0","0","0"],["c1","db1","t2","1","1","1"]] }
  17. },
  18. "tableName":"sharding"
  19. } */;

18.如何动态删除表配置?

  1. /*+ mycat:dropTable{
  2. "schemaName":"xxx",
  3. "tableName":"xxx"
  4. } */;

19.崩溃调试配置

  1. -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOGS_DIR/jvm_dump.log

20.关闭日志中的代码输出
jvm参数添加

  1. calcite.debug = false
  2. -Dcalcite.debug = false

21.如何提高吞吐量?
如果数据源是mysql的话,使用native模式,在数据源设置就可以,该模式在1.21-2021-12-17后可以使用.该功能处于实验阶段,该模式不建议在网络环境差的设备环境使用.

22.在分片表中,遇上mysql中有数据,但是mycat中使用select * 无法查询,结果集是0行?
请检查mycat2中配置的分片表建表语句的字段数量,字段类型是否与mysql的物理表相同,另外也要检查涉及的多个mysql的字段是否一致
检查表与数据源集群关系是否对应,找不到集群和数据源也是0行

23.在mycat中执行ddl,比如alter,发现只有主库有执行,从库binlog中有记录但是没有执行,没有同步?
查看mysql中的主从参数是否把mycat中配置的数据源上的默认库过滤了

  1. #主节点检查
  2. binlog_do_db
  3. binlog_ignore_db
  4. #从节点检查
  5. Replicate_Do_DB
  6. Replicate_Ignore_DB

24.
org.apache.calcite.runtime.CalciteContextException: At line 0, column 0: WITHIN GROUP not allowed with group_concat function 用的Navicat 连接工具报错

navicat使用了带group_concat的函数查询虚拟表导致的,mycat不支持group_concat查询虚拟表
可以使用单表映射相关的虚拟表解决这个问题

  1. //information_schema.schema.json
  2. {
  3. "customTables":{},
  4. "globalTables":{},
  5. "normalTables":{
  6. "ROUTINES":{
  7. "createTableSQL":"CREATE TABLE information_schema.ROUTINES (\n\tSPECIFIC_NAME varchar(192),\n\tROUTINE_CATALOG varchar(192),\n\tROUTINE_SCHEMA varchar(192),\n\tROUTINE_NAME varchar(192),\n\tROUTINE_TYPE varchar(27),\n\tDATA_TYPE varchar(1024),\n\tCHARACTER_MAXIMUM_LENGTH bigint(21),\n\tCHARACTER_OCTET_LENGTH bigint(21),\n\tNUMERIC_PRECISION bigint(3),\n\tNUMERIC_SCALE bigint(3),\n\tDATETIME_PRECISION bigint(3),\n\tCHARACTER_SET_NAME varchar(12),\n\tCOLLATION_NAME varchar(12),\n\tDTD_IDENTIFIER varchar(255),\n\tROUTINE_BODY varchar(255),\n\tROUTINE_DEFINITION varchar(255),\n\tEXTERNAL_NAME varchar(255),\n\tEXTERNAL_LANGUAGE varchar(255),\n\tPARAMETER_STYLE varchar(255),\n\tIS_DETERMINISTIC varchar(255),\n\tSQL_DATA_ACCESS char(64),\n\tSQL_PATH varchar(255),\n\tSECURITY_TYPE varchar(255),\n\tCREATED datetime,\n\tLAST_ALTERED datetime,\n\tSQL_MODE varchar(80),\n\tROUTINE_COMMENT varchar(12),\n\tDEFINER varchar(64),\n\tCHARACTER_SET_CLIENT varchar(64),\n\tCOLLATION_CONNECTION varchar(64),\n\tDATABASE_COLLATION varchar(64)\n)",
  8. "locality":{
  9. "schemaName":"information_schema",
  10. "tableName":"ROUTINES",
  11. "targetName":"prototype"
  12. }
  13. },
  14. "PARAMETERS":{
  15. "createTableSQL":"CREATE TABLE information_schema.parameters (\n\tSPECIFIC_CATALOG varchar(64),\n\tSPECIFIC_SCHEMA varchar(64),\n\tSPECIFIC_NAME varchar(64),\n\tORDINAL_POSITION bigint(11) UNSIGNED,\n\tPARAMETER_MODE varchar(5),\n\tPARAMETER_NAME varchar(64),\n\tDATA_TYPE longtext,\n\tCHARACTER_MAXIMUM_LENGTH bigint(21),\n\tCHARACTER_OCTET_LENGTH bigint(21),\n\tNUMERIC_PRECISION int(10) UNSIGNED,\n\tNUMERIC_SCALE bigint(11),\n\tDATETIME_PRECISION int(10),\n\tCHARACTER_SET_NAME varchar(64),\n\tCOLLATION_NAME varchar(64),\n\tDTD_IDENTIFIER mediumtext,\n\tROUTINE_TYPE enum('FUNCTION', 'PROCEDURE')\n)",
  16. "locality":{
  17. "schemaName":"information_schema",
  18. "tableName":"PARAMETERS",
  19. "targetName":"prototype"
  20. }
  21. }
  22. },
  23. "schemaName":"information_schema",
  24. "shardingTables":{}
  25. }
  1. mycat2 启动了 没有逻辑数据库咋回事

方式1.
用客户端登录mycat,然后在mycat上执行mycat语法的建表语句(建表语法见官网)

方式2.
直接修改mycat的database配置文件,在原型库建表

  1. mycat2还有自己的数据库吗?

对, 有一个原型库(prototype),用于对外显示表结构与执行 select 1 这类的sql。
注: 原型库默认是127.0.0.1, 需要用户修改。

27.支持C#的客户端吗?
支持

28.
]L@1BM${KIKF3T1PFE6(_IX.png
修改mycat.sql_log的sqlTime类型为bigint(20)

29.
image.png
sql中的字段出现两个相同的字段,这里是event_object_table在sql中出现两次,mycat不知道该排序哪个

image.png
event_object_table在naticat中sql会出现两次,导致该问题,可以忽略这个错误

30.在事务中,插入分片表,遇上主键冲突,然后后续操作报错,怎么解决?
在事务处理中加入回滚语句,可以解决这个问题

31.在使用过程中,出现连接不上mycat,或者mycat连接不了mysql,数据源无法获取连接,或者OOM,Mycat运行很慢
一般这个情况是出现了内存泄露,此时可以使用jmap dump内存镜像,或者添加
JVM添加下面属性配置自动dump,然后进行压力测试,获得dump文件后,使用jvisual查看占用内存多的对象,可以定位问题

  1. -XX:+HeapDumpOnOutOfMemoryError 设置当首次遭遇内存溢出时导出此时堆中相关信息
  2. -XX:HeapDumpPath=/tmp/heapdump.hprof 指定导出堆信息时的路径或文件名

32.JAR打包时候出现Cannot access central in offline mode.确定没有设置offline属性
运行mvn clean verify可以解决这个问题

33.com.mysq1.cj.jdbc.exceptions.NysqDataTruncation: Data truncation: Incorrect time value: ‘38492’ for column ‘sqlTime’ at row
image.png
更改mycat.sql_log表的sqlTime字段类型为为bigint
image.png

34.java.sql.SQLSyntaxErrorException: Table ‘mysql.proc’ doesn’t exist
89EYP2WBZ5V{QQQUW3UHJQ5.png
没有用到存储过程,不需要理会这个错误

mysql中没有proc表,在mysql8之前,存储过程和事件存储在mysql.proc和mysql.event表中.
解决方法:

1.更改mycat模拟的mysql版本是8系列的

  1. SELECT VERSION()//8.0.12

2.在(原型库)mysql库中建立proc表

  1. CREATE TABLE `proc` (
  2. `db` varchar(64) DEFAULT NULL,
  3. `name` varchar(64) DEFAULT NULL,
  4. `type` enum('FUNCTION','PROCEDURE','PACKAGE','PACKAGE BODY') DEFAULT NULL,
  5. `specific_name` varchar(64) DEFAULT NULL,
  6. `language` enum('SQL') DEFAULT NULL,
  7. `sql_data_access` enum('CONTAINS_SQL','NO_SQL','READS_SQL_DATA','MODIFIES_SQL_DATA') DEFAULT NULL,
  8. `is_deterministic` enum('YES','NO') DEFAULT NULL,
  9. `security_type` enum('INVOKER','DEFINER') DEFAULT NULL,
  10. `param_list` blob,
  11. `returns` longblob,
  12. `body` longblob,
  13. `definer` varchar(141) DEFAULT NULL,
  14. `created` timestamp NULL DEFAULT NULL,
  15. `modified` timestamp NULL DEFAULT NULL,
  16. `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','IGNORE_BAD_TABLE_OPTIONS','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH','EMPTY_STRING_IS_NULL','SIMULTANEOUS_ASSIGNMENT') DEFAULT NULL,
  17. `comment` text,
  18. `character_set_client` char(32) DEFAULT NULL,
  19. `collation_connection` char(32) DEFAULT NULL,
  20. `db_collation` char(32) DEFAULT NULL,
  21. `body_utf8` longblob,
  22. `aggregate` enum('NONE','GROUP') DEFAULT NULL
  23. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

35.quartz框架使用mycat偶然出现初始化失败?
quartz相关的表不使用读写分离就可以解决

36.please use schema
image.png
一般是重启了mycat,但是图形化客户端仍然使用旧的客户端连接导致的 ,新开一个连接就可以解决.
或者直接执行查询

  1. use 业务库/逻辑库

也可以解决

37.

  1. SELECT TABLE_SCHEMA AS TABLE_CAT, NULL AS TABLE_SCHEM, TABLE_NAME
  2. , CASE
  3. WHEN TABLE_TYPE = 'BASE TABLE' THEN
  4. CASE
  5. WHEN TABLE_SCHEMA = 'mysql'
  6. OR TABLE_SCHEMA = 'performance_schema'
  7. THEN 'SYSTEM TABLE'
  8. ELSE 'TABLE'
  9. END
  10. WHEN TABLE_TYPE = 'TEMPORARY' THEN 'LOCAL_TEMPORARY'
  11. ELSE TABLE_TYPE
  12. END AS TABLE_TYPE, TABLE_COMMENT AS REMARKS, NULL AS TYPE_CAT, NULL AS TYPE_SCHEM, NULL AS TYPE_NAME
  13. , NULL AS SELF_REFERENCING_COL_NAME, NULL AS REF_GENERATION
  14. FROM INFORMATION_SCHEMA.TABLES
  15. WHERE TABLE_SCHEMA = 'wiiss_f1'
  16. AND TABLE_NAME LIKE 'ACT_RU_EXECUTION'
  17. HAVING TABLE_TYPE IN ('TABLE', NULL, NULL, NULL, NULL)
  18. ORDER BY TABLE_TYPE, TABLE_SCHEMA, TABLE_NAME

请修改
information_schema.schema.json
添加单表映射

  1. "TABLES": {
  2. "locality": {
  3. "targetName": "prototype"
  4. }
  5. },

例子

  1. {
  2. "customTables": {},
  3. "globalTables": {},
  4. "normalTables": {
  5. "ROUTINES": {
  6. "createTableSQL": "CREATE TABLE information_schema.ROUTINES (\n\tSPECIFIC_NAME varchar(192),\n\tROUTINE_CATALOG varchar(192),\n\tROUTINE_SCHEMA varchar(192),\n\tROUTINE_NAME varchar(192),\n\tROUTINE_TYPE varchar(27),\n\tDATA_TYPE varchar(1024),\n\tCHARACTER_MAXIMUM_LENGTH bigint(21),\n\tCHARACTER_OCTET_LENGTH bigint(21),\n\tNUMERIC_PRECISION bigint(3),\n\tNUMERIC_SCALE bigint(3),\n\tDATETIME_PRECISION bigint(3),\n\tCHARACTER_SET_NAME varchar(12),\n\tCOLLATION_NAME varchar(12),\n\tDTD_IDENTIFIER varchar(255),\n\tROUTINE_BODY varchar(255),\n\tROUTINE_DEFINITION varchar(255),\n\tEXTERNAL_NAME varchar(255),\n\tEXTERNAL_LANGUAGE varchar(255),\n\tPARAMETER_STYLE varchar(255),\n\tIS_DETERMINISTIC varchar(255),\n\tSQL_DATA_ACCESS char(64),\n\tSQL_PATH varchar(255),\n\tSECURITY_TYPE varchar(255),\n\tCREATED datetime,\n\tLAST_ALTERED datetime,\n\tSQL_MODE varchar(80),\n\tROUTINE_COMMENT varchar(12),\n\tDEFINER varchar(64),\n\tCHARACTER_SET_CLIENT varchar(64),\n\tCOLLATION_CONNECTION varchar(64),\n\tDATABASE_COLLATION varchar(64)\n)",
  7. "locality": {
  8. "schemaName": "information_schema",
  9. "tableName": "ROUTINES",
  10. "targetName": "prototype"
  11. }
  12. },
  13. "TABLES": {
  14. "locality": {
  15. "targetName": "prototype"
  16. }
  17. },
  18. "PARAMETERS": {
  19. "createTableSQL": "CREATE TABLE information_schema.parameters (\n\tSPECIFIC_CATALOG varchar(64),\n\tSPECIFIC_SCHEMA varchar(64),\n\tSPECIFIC_NAME varchar(64),\n\tORDINAL_POSITION bigint(11) UNSIGNED,\n\tPARAMETER_MODE varchar(5),\n\tPARAMETER_NAME varchar(64),\n\tDATA_TYPE longtext,\n\tCHARACTER_MAXIMUM_LENGTH bigint(21),\n\tCHARACTER_OCTET_LENGTH bigint(21),\n\tNUMERIC_PRECISION int(10) UNSIGNED,\n\tNUMERIC_SCALE bigint(11),\n\tDATETIME_PRECISION int(10),\n\tCHARACTER_SET_NAME varchar(64),\n\tCOLLATION_NAME varchar(64),\n\tDTD_IDENTIFIER mediumtext,\n\tROUTINE_TYPE enum('FUNCTION', 'PROCEDURE')\n)",
  20. "locality": {
  21. "schemaName": "information_schema",
  22. "tableName": "PARAMETERS",
  23. "targetName": "prototype"
  24. }
  25. },
  26. "CHARACTER_SETS": {
  27. "locality": {
  28. "targetName": "prototype"
  29. }
  30. },
  31. "COLLATIONS": {
  32. "locality": {
  33. "targetName": "prototype"
  34. }
  35. },
  36. "COLLATION_CHARACTER_SET_APPLICABILITY": {
  37. "locality": {
  38. "targetName": "prototype"
  39. }
  40. }
  41. },
  42. "schemaName": "information_schema",
  43. "shardingTables": {}
  44. }

修改后会导致图形化客户端显示逻辑表有问题,请自己在原型库建立与逻辑表名字相同的物理表修正显示

38.mycat经常崩溃
1.检查监控的内存指标
2.使用jvm dump功能检查哪个对象占用内存
3.有没有其他程序占用大内存,导致mycat崩溃

image.png

  1. XAER_DUPID: The XID already exists
    XA模下,同一个mysql在mycat只能配置一次

40.数据有时候有有时候没有?
检查集群主从是否同步正常,数据(行数)是否一致

41.
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (23 > -1). You can change this value on the server by setting the max_allowed_packet’ variable.

该错误常见于低版本mysql驱动

  1. <dependency>
  2. <groupId>mysql</groupId>
  3. <artifactId>mysql-connector-java</artifactId>
  4. <version>5.1.35</version>
  5. </dependency>

设置jdbc属性

  1. maxAllowedPacket=16777216
  2. jdbc:mysql://localhost:8066/mysql?maxAllowedPacket=16777216

就可以解决

42.Navicat查看表无法,直接编辑数据
在mycat2这个属于兼容性问题,是正常的

43.在Navicat里查看一些表,看不到索引,主键信息?
https://www.yuque.com/docs/share/6a967312-7d1d-4f2e-b031-2f9958ffd4d2?#
image.png
把一些系统表配置成单表覆盖Mycat内置的虚拟表就可以

44.使用mycat后,业务程序出现死锁等情况?
这个情况是因为业务程序没有显式使用事务隔离级别,而数据库默认设置是
READ_UNCOMMITTED
READ_COMMITTED
这两个隔离级别,而Mycat默认的隔离级别是REPEATED_READ
导致的,解决这个问题的办法是修改业务程序的事务隔离级别或者在mycat的xxx.user.json设置事务隔离级别

45.如何查看mysql中线程与会话的关系
SELECT THREAD_ID,PROCESSLIST_INFO, THREAD_OS_ID FROM performance_schema.threads WHERE PROCESSLIST_USER = ‘root’

46.mysqldump 导出数据乱码(表结构,comment)
加上 —hex blob 参数

47.修改mysql登录密码插件

  1. alter user 'admin'@'%' identified with mysql_native_password by 'your_password';

48.Navicat里看不到自定义函数?
需要mysql把自定义函数相关的系统表映射到mycat里,可以在information.schema.json文件里面添加targetName指向prototype集群解决这个问题

49.sql中使用自定义函数,结果不符合预期?
尝试在函数前写上函数所在的物理库库名,可以解决这个问题或者在数据源上面的默认库与sql中的函数所在的库对应

50.`J$EDKSU[Y$D%H6]YARJS90.png

information_schema.schema.json

添加单表,覆盖虚拟表SCHEMATA可以暂时解决,但是查询mycat的逻辑库逻辑表会显示错误

  1. "SCHEMATA": {
  2. "createTableSQL":"CREATE TABLE IF NOT EXISTS `information_schema`.`SCHEMATA` (\n\tCATALOG_NAME varchar(512),\n\tSCHEMA_NAME varchar(64),\n\tDEFAULT_CHARACTER_SET_NAME varchar(64),\n\tDEFAULT_COLLATION_NAME varchar(32),\n\tSQL_PATH varchar(512)\n)",
  3. "locality": {
  4. "targetName": "prototype"
  5. }
  6. }

整个配置文件例子

  1. {
  2. "customTables": {},
  3. "globalTables": {},
  4. "normalTables": {
  5. "ROUTINES": {
  6. "createTableSQL": "CREATE TABLE information_schema.ROUTINES (\n\tSPECIFIC_NAME varchar(192),\n\tROUTINE_CATALOG varchar(192),\n\tROUTINE_SCHEMA varchar(192),\n\tROUTINE_NAME varchar(192),\n\tROUTINE_TYPE varchar(27),\n\tDATA_TYPE varchar(1024),\n\tCHARACTER_MAXIMUM_LENGTH bigint(21),\n\tCHARACTER_OCTET_LENGTH bigint(21),\n\tNUMERIC_PRECISION bigint(3),\n\tNUMERIC_SCALE bigint(3),\n\tDATETIME_PRECISION bigint(3),\n\tCHARACTER_SET_NAME varchar(12),\n\tCOLLATION_NAME varchar(12),\n\tDTD_IDENTIFIER varchar(255),\n\tROUTINE_BODY varchar(255),\n\tROUTINE_DEFINITION varchar(255),\n\tEXTERNAL_NAME varchar(255),\n\tEXTERNAL_LANGUAGE varchar(255),\n\tPARAMETER_STYLE varchar(255),\n\tIS_DETERMINISTIC varchar(255),\n\tSQL_DATA_ACCESS char(64),\n\tSQL_PATH varchar(255),\n\tSECURITY_TYPE varchar(255),\n\tCREATED datetime,\n\tLAST_ALTERED datetime,\n\tSQL_MODE varchar(80),\n\tROUTINE_COMMENT varchar(12),\n\tDEFINER varchar(64),\n\tCHARACTER_SET_CLIENT varchar(64),\n\tCOLLATION_CONNECTION varchar(64),\n\tDATABASE_COLLATION varchar(64)\n)",
  7. "locality": {
  8. "schemaName": "information_schema",
  9. "tableName": "ROUTINES",
  10. "targetName": "prototype"
  11. }
  12. },
  13. "PARAMETERS": {
  14. "createTableSQL": "CREATE TABLE information_schema.parameters (\n\tSPECIFIC_CATALOG varchar(64),\n\tSPECIFIC_SCHEMA varchar(64),\n\tSPECIFIC_NAME varchar(64),\n\tORDINAL_POSITION bigint(11) UNSIGNED,\n\tPARAMETER_MODE varchar(5),\n\tPARAMETER_NAME varchar(64),\n\tDATA_TYPE longtext,\n\tCHARACTER_MAXIMUM_LENGTH bigint(21),\n\tCHARACTER_OCTET_LENGTH bigint(21),\n\tNUMERIC_PRECISION int(10) UNSIGNED,\n\tNUMERIC_SCALE bigint(11),\n\tDATETIME_PRECISION int(10),\n\tCHARACTER_SET_NAME varchar(64),\n\tCOLLATION_NAME varchar(64),\n\tDTD_IDENTIFIER mediumtext,\n\tROUTINE_TYPE enum('FUNCTION', 'PROCEDURE')\n)",
  15. "locality": {
  16. "schemaName": "information_schema",
  17. "tableName": "PARAMETERS",
  18. "targetName": "prototype"
  19. }
  20. },
  21. "CHARACTER_SETS": {
  22. "locality": {
  23. "targetName": "prototype"
  24. }
  25. },
  26. "COLLATIONS": {
  27. "locality": {
  28. "targetName": "prototype"
  29. }
  30. },
  31. "COLLATION_CHARACTER_SET_APPLICABILITY": {
  32. "locality": {
  33. "targetName": "prototype"
  34. }
  35. },
  36. "SCHEMATA": {
  37. "locality": {
  38. "targetName": "prototype"
  39. }
  40. }
  41. },
  42. "schemaName": "information_schema",
  43. "shardingTables": {}
  44. }