项目迁移中 遇到的MySQL问题

两个问题都是数据库迁移导致的  

1.Expression #16 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'sanghe.a.contract_no' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by]

改问题是sql_mode配置,sql_mode=ONLY_FULL_GROUP_BY导致的,查询sql_mode的配置

select @@global.sql_mode

 

 查看结果中是否有 ONLY_FULL_GROUP_BY  删除即可 或重新配置

set @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘

参考 解决MySQL5.7版本之后使用GROUP BY语句时报错 

2.The user specified as a definer (‘skip-grants user‘@‘skip-grants host‘) does not exist

‘skip-grants user‘@‘skip-grants host 不存在

MySQL中表是没有所有者的  只有函数  触发器等菜存在所有者    此次数据库迁移使用方式是 navicat 15 备份数据库后恢复备份,出现了此问题。查询函数详细信息,可见所有者信息

 

 解决办法

  复制函数的创建语句  删除所有者信息,重新执行    问题解决

 

posted @ 2022-12-14 14:34  转身瞬间  阅读(104)  评论(0)    收藏  举报