mysql数据库输出数据语法错误_获取RDS-Mysql数据语法错误
如果加工规则中涉及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数据语法错误相关推荐
- mysql数据库+易语言的应用_易语言mysql数据应用源码
易语言mysql数据应用源码 易语言mysql数据应用源码 系统结构:注册账号,连接Mysql,用户注册验证码,修改密码验证码,忘记密码验证码,修改密码,忘记密码, ======窗口程序集1 | | ...
- 详解mysql数据库的启动与终止_详解MySQL数据库的启动与终止(一)
由于MySQL服务器具有多种安装分发,而且能够运行在多种操作平台之上,因此它的启动与停止的方法也多种多样.你可以根据实际情况使用其中的一种.在你安装.升级或者维护系统时,你可能需要多次启动和终止服务器 ...
- mysql数据库脚本是什么意思_什么是mysql数据库脚本
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 怎么查看mysql数据库表之间的关系_怎么查看mysql数据库表之间的关系图
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- mysql数据库新建一个递增的_分享一个mysql实验—基于数据库事务隔离级别RR及RC的测试...
概述 今天主要分享一个最近做的实验,主要是测试mysql数据库在RR和RC不同事务隔离级别下的表现. MySQL使用可重复读来作为默认隔离级别的主要原因是语句级的Binlog.RR能提供SQL语句的写 ...
- 服务器mysql数据库被人非法连接_如何让mysql数据库允许被远程连接访问
一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"root",密码"123 ...
- 如何查看mysql数据库的密码是什么_如何查看mysql数据库用户密码
1.打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址 2.打开 cmd 命令提示符, 转到上一步中 mysql. exe 所在的文件夹. 3.输入命令 mysqld --ski ...
- mysql数据库查询要注意事项_三种mysql高级查询技巧_数据库_mysql函数_课课家
大家都知道GROUP BY,但是大家知道GROUP BY后面可以带哪些函数吗?今天给大家介绍下GROUP BY后面可以带的函数. 1GROUP_CONCAT 在MySQL中,你可以获取表达式组合的连接 ...
- 如何mysql数据库输出为jone_我们可以通过单个MySQL查询获得记录“ Jone Deo”或“ Deo Jone”吗?...
为此,您可以使用LIKE子句.让我们首先创建一个表-mysql> create table DemoTable -> ( -> ClientName varchar(100) -&g ...
- mysql数据库中count的作用_详解 MySQL中count函数的正确使用方法
1. 描述 在MySQL中,当我们需要获取某张表中的总行数时,一般会选择使用下面的语句 select count(*) from table; 其实count函数中除了*还可以放其他参数,比如常数.主 ...
最新文章
- nas挂载windows_在windows2012上挂载NAS文件系统
- arch linux 下 安装搭建python机器学习环境
- Tungsten Fabric SDN — Device Manager
- 贴一段数组动态扩容的代码
- 用 ArrayList 还是 LinkedList?
- oracle 查看表结构约束,oracle 约束
- J2SE 基础入门,从事 Java 必学!
- JAVA springboot ssm b2b2c多用户商城系统源码(三)SpringBoot用JdbcTemplates访问Mysql
- 奇异矩阵能lu分解条件_矩阵的酉不变范数,樊畿控制定理,次可乘性质,p次对称度规函数...
- 禁忌搜索算法c语言代码,禁忌搜索算法CC++源代码.doc
- Java8遍历Map、Map转List、List转Map
- 轻松搞懂Java中的自旋锁
- 微信云开发要避开的坑
- Java的11个关键术语
- 网络营销是中小企业低成本建立品牌的必经之路
- 物联网毕业设计题目大全
- 计算机专业英语答案任伟,专业英语教案
- 黑客利用SSH弱密码攻击控制Linux服务器,潜在目标约十万IP天
- 借助 GPU 和容器支持,在 Amazon Robomaker 中运行任何高保真模拟
- Advanced Installer多语言包安装
热门文章
- Adaboost、RandomFrest、GBRT的区别
- 经纬度中度与度分秒的转换公式是什么,如114.629度=()度()分()秒
- Meteor:用户账号管理添加密码和微博weibo账号系统支持
- Internet信息服务找不到
- 判断字符串是数字、字符、还是...
- arm-none-eabi-gcc.exe -v
- Java算法之旋转数组
- pythonpandas读取csv文件最后一行_简单小案例(一):使用Pandas在Python中读取和写入CSV文件...
- stm32 python界面开发_【STM32开发】使用Qt Creator 开发STM32
- Python使用最小二乘法求解回归直线案例一则