今日帮助测试部署环境的时候,发现SQL执行总是出错~
第一次排查的时候 确实是因为数据库编码没改出现的错误。
但是编码改掉以后,依然出现下面的错误:
Cause: java.sql.SQLException: Incorrect string value: '\xE7\xAE\xA1\xE7\x90\x86...' for column 'codeDesc' at row 57
; uncategorized SQLException; SQL state [HY000]; error code [1366]; Incorrect string value: '\xE7\xAE\xA1\xE7\x90\x86...' for column 'codeDesc' at row 57; nested exception is java.sql.SQLException: Incorrect string value: '\xE7\xAE\xA1\xE7\x90\x86...' for column 'codeDesc' at row 57
后来经过排查,SQL中包含函数Function,函数的权限是
因为其他服务访问MySQL的时候,并不是走的localhost地址,所以这是没有权限的,把root@localhost改成 root@% 就可以了 (我写的是伪代码,注意`符号) 。