应用运行过程中偶尔正常,偶尔显示空白页面,查看程序日志无报错记录,MySQL错误日志里有大量如下错误:
[Note] Aborted connection 3170 to db: 'xxx' user: 'xxx_user' host: '127.0.0.1' (Got an error reading communication packets)
经检查感觉应该跟MySQL 5.7的strict mode有关,把strict mode里“ONLY_FULL_GROUP_BY”去掉之后,应用恢复正常。这个应该是MySQL5.7的一个坑。。。
查看strict mode执行如下语句:
select @@sql_mode;
设置strict mode,在数据库下执行如下语句:
set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';