如果加工规则中涉及RDS资源的加载,则有可能会产生资源的加载或刷新错误。本文档主要介绍从RDS-Mysql获取数据出错的原因以及排查处理方法。

在成功读取源Logstore数据后,加工引擎开始对源Logstore的日志事件进行加工。如果加工规则中涉及OSS、RDS、Logstore等外联资源的加载,则也有可能会产生资源的加载或刷新错误。

控制台单独使用资源函数

加工规则

res_rds_mysql(address="xx",username="xx",password="xx",database="xx")

错误日志

aliyun.log.logexception.LogException: {"errorCode": "InvalidEtlConfig", "errorMessage": "ETL config doesn't pass security check, detail: invalid type detected: ", "requestId": ""}

排查方法

该错误信息为语法配置错误,这种错常见于用户在控制台单独使用res_rds_mysql、res_log_logstore_pull或res_oss_file语法。

解决方案

资源函数语法不可以单独在控制台使用,请结合e_table_map或者e_search_table_map等函数进行使用。

参数填写错误

加工规则

e_table_map(res_rds_mysql(address="xx",username="xx",password="xx",database="xx"),field="processid",output_fields=["name","xixi"])

错误日志

"errorMessage\": \"When sql is not set, table must be set\\nDetail: None\"

排查方法

一般这种情况就是table和sql两个参数都没有填写。

解决方案

当table参数没有设置的时候,必须传入指定的sql语句,否则找不到表无法进行数据获取。table和sql两个参数必须传递一个。

输出字段错误

加工规则

e_table_map(res_rds_mysql(address="x",username="xx",password="xx",database="xx",table="test"),field="processid",output_fields=["name","xixi"])

错误日志

"errorMessage\": \"trans_comp_lookup: output field xixi doesn't exist in lookup table\\nDetail: None\

排查方法

出现这种错误是因为output_fields输出的字段并不存在于mysql数据表中。

解决方案

请验证mysql数据库中数据都包含哪些字段,将正确的字段填入output_fields中。

参数类型配置错误

加工规则

e_table_map(res_rds_mysql(address="xxx",username=1234,password="xx",database="xx",table="xx"),field="processid",output_fields=["name","xixi"])

错误日志

"errorMessage\": \"username not a string type\\nInvalid Settings

排查方法

出现这种错误是因为username不是String类型。

解决方案

所以请配置的时候根据参数文档配置正确参数的类型,否则会抛出错误。

网络或者权限错误

加工规则

e_table_map(res_rds_mysql(address="xxx",username=xxx,password="xx",database="test999",table="xx"),field="processid",output_fields=["name","xixi"])

错误日志1

message: Database connection failed, cause: (1045, "Access denied for user 'root'@'47.99.57.53' (using password: YES)")

错误日志2

message: Database connection failed, cause: (1049, "Unknown database 'test999')

排查方法

当出现Database connection failed错误信息的时候,请检查自己的配置是否错误,或者网络是否不通,请排查自己的账号是否在rds-mysql 的白名单当中。当出现无法链接错误的时候,其原因会非常详细的出现在cause原因后面,可以根据错误原因进行排查,大多是权限、密码、地址错误等。

说明 目前暂时不支持通过vpc连接rds-mysql,如果填入vpc网络地址会造成网络不通连接失败。请在address参数中配置rds-mysql所在的公网地址。vpc连接计划将在后续版本进行支持。

解决方案

排查原因后重新配置函数重启数据加工服务,连接错误或者权限错误数据加工无法恢复的错误,需要手动配置参数后重新启动。

SQL语法错误

加工规则

e_table_map(res_rds_mysql(address="xxx",username=xxx,password="xx",database="xx",sql="inset into test values(1,"aini")",field="processid",output_fields=["name","xixi"]))

错误日志

"errorMessage\": \"The sql_query field only supports database query syntax\\nInvalid Settings \\\"insert into test values(1,aini)\\\"\\nDetail: None\", \"requestId\": \"\"}

排查方法

出现如上错误信息,原因是填入配置中的sql语法错误。首先sql语法仅支持select从数据库中读取数据的模式。其次,当写入数据库的select语法是错误的时候,也会引发fetch data error错误,此时可以根据错误原因具体分析sql中的错误。

解决方案

修复sql语句的错误,需要注意sql只支持select查询语句。

持续刷新错误

加工规则

e_table_map(res_rds_mysql(address="xxx",username=xxx,password="xx",database="xx",table="test,field="processid",output_fields=["name","xixi"],refresh_interval=30))

错误日志

"errorMessage\": \"Database connection failed, cause: (2003, \\\"Can't connect to MySQL server on 'rm-wz9z68i4itrk4v8d9yo.mysql.rds.aliyuncs.com' (timed out))

排查方法

该错误信息为rds-mysql数据库将白名单授权取消导致无法链接的错误。当持续加工过程中遇到错误,例如部分网络震荡,会自动进行重试。如果遇到权限等被取消的错误,需要手动恢复。可以根据报错查找可能导致链接超时的原因。

解决方案

在持续获取数据的过程中可能因为远程rds-mysql数据库权限变动或者表被删除等情况,此时数据库会报链接错误的问题,可以根据错误原因查看rds-mysql数据库中,是否表数据或者权限发生了变动。

mysql数据库输出数据语法错误_获取RDS-Mysql数据语法错误相关推荐

  1. mysql数据库+易语言的应用_易语言mysql数据应用源码

    易语言mysql数据应用源码 易语言mysql数据应用源码 系统结构:注册账号,连接Mysql,用户注册验证码,修改密码验证码,忘记密码验证码,修改密码,忘记密码, ======窗口程序集1 | | ...

  2. 详解mysql数据库的启动与终止_详解MySQL数据库的启动与终止(一)

    由于MySQL服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样.你可以根据实际情况使用其中的一种.在你安装.升级或者维护系统时,你可能需要多次启动和终止服务器 ...

  3. mysql数据库脚本是什么意思_什么是mysql数据库脚本

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  4. 怎么查看mysql数据库表之间的关系_怎么查看mysql数据库表之间的关系图

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. mysql数据库新建一个递增的_分享一个mysql实验—基于数据库事务隔离级别RR及RC的测试...

    概述 今天主要分享一个最近做的实验,主要是测试mysql数据库在RR和RC不同事务隔离级别下的表现. MySQL使用可重复读来作为默认隔离级别的主要原因是语句级的Binlog.RR能提供SQL语句的写 ...

  6. 服务器mysql数据库被人非法连接_如何让mysql数据库允许被远程连接访问

    一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"root",密码"123 ...

  7. 如何查看mysql数据库的密码是什么_如何查看mysql数据库用户密码

    1.打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 2.打开 cmd 命令提示符, 转到上一步中 mysql. exe 所在的文件夹. 3.输入命令  mysqld --ski ...

  8. mysql数据库查询要注意事项_三种mysql高级查询技巧_数据库_mysql函数_课课家

    大家都知道GROUP BY,但是大家知道GROUP BY后面可以带哪些函数吗?今天给大家介绍下GROUP BY后面可以带的函数. 1GROUP_CONCAT 在MySQL中,你可以获取表达式组合的连接 ...

  9. 如何mysql数据库输出为jone_我们可以通过单个MySQL查询获得记录“ Jone Deo”或“ Deo Jone”吗?...

    为此,您可以使用LIKE子句.让我们首先创建一个表-mysql> create table DemoTable -> ( -> ClientName varchar(100) -&g ...

  10. mysql数据库中count的作用_详解 MySQL中count函数的正确使用方法

    1. 描述 在MySQL中,当我们需要获取某张表中的总行数时,一般会选择使用下面的语句 select count(*) from table; 其实count函数中除了*还可以放其他参数,比如常数.主 ...

最新文章

  1. nas挂载windows_在windows2012上挂载NAS文件系统
  2. arch linux 下 安装搭建python机器学习环境
  3. Tungsten Fabric SDN — Device Manager
  4. 贴一段数组动态扩容的代码
  5. 用 ArrayList 还是 LinkedList?
  6. oracle 查看表结构约束,oracle 约束
  7. J2SE 基础入门,从事 Java 必学!
  8. JAVA springboot ssm b2b2c多用户商城系统源码(三)SpringBoot用JdbcTemplates访问Mysql
  9. 奇异矩阵能lu分解条件_矩阵的酉不变范数,樊畿控制定理,次可乘性质,p次对称度规函数...
  10. 禁忌搜索算法c语言代码,禁忌搜索算法CC++源代码.doc
  11. Java8遍历Map、Map转List、List转Map
  12. 轻松搞懂Java中的自旋锁
  13. 微信云开发要避开的坑
  14. Java的11个关键术语
  15. 网络营销是中小企业低成本建立品牌的必经之路
  16. 物联网毕业设计题目大全
  17. 计算机专业英语答案任伟,专业英语教案
  18. 黑客利用SSH弱密码攻击控制Linux服务器,潜在目标约十万IP天
  19. 借助 GPU 和容器支持,在 Amazon Robomaker 中运行任何高保真模拟
  20. Advanced Installer多语言包安装

热门文章

  1. Adaboost、RandomFrest、GBRT的区别
  2. 经纬度中度与度分秒的转换公式是什么,如114.629度=()度()分()秒
  3. Meteor:用户账号管理添加密码和微博weibo账号系统支持
  4. Internet信息服务找不到
  5. 判断字符串是数字、字符、还是...
  6. arm-none-eabi-gcc.exe -v
  7. Java算法之旋转数组
  8. pythonpandas读取csv文件最后一行_简单小案例(一):使用Pandas在Python中读取和写入CSV文件...
  9. stm32 python界面开发_【STM32开发】使用Qt Creator 开发STM32
  10. Python使用最小二乘法求解回归直线案例一则