发布网友 发布时间:2022-04-23 02:34
共3个回答
懂视网 时间:2022-05-03 12:26
场景:自己搭建了个zabbix,在通过agent脚本监控mysql8.0时,出现了报错:awk: cmd. line:1: (FILENAME=- FNR=1) fatal: division by zero attempted
对应sql的配置情况如下,该sql是获取的binlog日志文件的序号:
执行结果发现报错了
于是怀疑是否是sql命令结果本身的异常,于是去掉了awk命令部分,重新执行一遍发现sql执行是正常,但为什么会出现这样的问题呢?
冷静地思考了下,sql本身肯定是没问题的,是awk切割的时候出的问题,那怎么样处理才能得到我要的结果呢。。
这时忽然想到我之前都是从前面切割的,那这次我从后面把想要的数据进行切割看看。
于是重新调整了awk切割过程,最终成功把binlog日志文件序号切割出来了。
虽然这次没有从正面解决awk报错,但从侧面解决了问题,也达到我要的结果,解决问题的思路还是很重要的。
awk脚本切割数据库8.0命令结果时出现报错
标签:没有 重要 binlog filename sql 情况 监控mysql 通过 alt
热心网友 时间:2022-05-03 09:34
先想办法吧你的乱码搞好吧,既然你已经指定了|为分隔符,那么他肯定是按照|进行分割的
热心网友 时间:2022-05-03 10:52
将源文件编码转为UTF-8格式后再交付awk处理。